STM3新生培训.pptVIP

  • 1
  • 0
  • 约1.84千字
  • 约 15页
  • 2019-04-18 发布于浙江
  • 举报
STM32单片机培训 新生培训 主讲内容 总线时钟RCC GPIO控制 总线时钟介绍 STM32中在使用任何一个外设都必须打开相应的时钟,所以我从STM32的时钟学起。 STM32时钟源: ①、HSI是高速内部时钟,RC震荡器,频率为 8MHz。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或HSE/2。倍频可选择为2~16倍,但其输出频率最大不得超过72MHz。 STM32时钟工作逻辑 系统时钟SYSCLK,它是供STM32中绝大部分器件工作的时钟源,系统时钟可选择为PLL输出、HSI或者HSE。系统时钟的最大频率为72MHz,它通过AHB分频器分频后送给个模块使用,AHB分频器可选择1、2、4、8、16、32、64、128、256、512分频。 AHB分频输出的时钟 1. 送给AHB总线、内核、内存和DMA使用的HCLK时钟。 2. 通过8分频后送给Cortex的系统定时器时钟。 3. 直接送给Cortex的空闲运行时钟PCLK。 4. 送给APB1分频器。 5. 送给APB2分频器。 连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。 连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口、第二功能IO口。 STM32编写程序时要用到哪个模块首先要开启那个模块的时钟 使用GPIOA时:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); STM32GPIO简介 首先,什么叫GPIO,它其实就是51单片机的那种IO口而已,不同的是,51单片机的IO口是不需要配置模式的,而STM32的IO口,是需要配置模式和时钟的。 STM32的GPIO,如果你要用它,就要做两步工作,第一是配置其时钟并使能,第二是配置模式、速度。 在STM32中大部分的功能都要用到GPIO口,都要对相应功能的GPIO进行配置。 STM32的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出) ① 浮空输入_IN_FLOATING ② 带上拉输入_IPU ③ 带下拉输入_IPD ④ 模拟输入_AIN ⑤ 开漏输出_OUT_OD ⑥ 推挽输出_OUT_PP ⑦ 复用功能的推挽输出_AF_PP ⑧ 复用功能的开漏输出_AF_OD I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。 高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。关键是GPIO的引脚速度跟应用匹配。 GPIO口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义; 在复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式。 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。 GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin= GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Ou_PP; GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure); 结束语 希望大家用心学习,      早日学会这门技术,          愿大家生活开心 !

文档评论(0)

1亿VIP精品文档

相关文档