1 / 13
文档名称:

STM32学习笔记(关于时钟).doc

格式:doc   大小:127KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32学习笔记(关于时钟).doc

上传人:63229029 2017/3/5 文件大小:127 KB

下载得到文件列表

STM32学习笔记(关于时钟).doc

相关文档

文档介绍

文档介绍:STM32 学**** 时钟(转载) 在STM32 中,有五个时钟源,为 HSI 、HSE 、LSI 、LSE 、PLL 。①、HSI 是高速内部时钟, RC振荡器,频率为 8MHz 。②、HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz 。 HSE/LSE 时钟源③、LSI 是低速内部时钟, RC振荡器,频率为 40kHz 。④、LSE 是低速外部时钟,接频率为 的石英晶体。⑤、PLL 为锁相环倍频输出,其时钟输入源可选择为 HSI/2 、HSE 或者 HSE/2 。倍频可选择为 2~16 倍,但是其输出频率最大不得超过 72MHz 。其中 40kHz 的LSI 供独立看门狗 IWDG 使用,另外它还可以被选择为实时时钟RTC 的时钟源。另外,实时时钟 RTC 的时钟源还可以选择 LSE ,或者是 HSE 的 128 分频。 RTC 的时钟源通过 RTCSEL[1:0] 来选择。 STM3 2中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MH z 的时钟源。该时钟源只能从 PLL 输出端获取,可以选择为 分频或者 1分频, 也就是,当需要使用 USB 模块时,PLL 必须使能,并且时钟频率配置为 48MHz 或 72MHz 。另外, STM32 还可以选择一个时钟信号输出到 MCO 脚(PA8) 上,可以选择为 PLL 输出的 2分频、 HSI 、HSE 、或者系统时钟。系统时钟 SYSCLK ,它是供 STM32 中绝大部分部件工作的时钟源。系统时钟可选择为 PLL 输出、 HSI 或者 HSE 。系统时钟最大频率为 72MHz ,它通过 AHB 分频器分频后送给各模块使用,AHB 分频器可选择 1、2、4、8、16、64、128 、256 、 512 分频。其中 AHB 分频器输出的时钟送给 5大模块使用: ①、送给 AHB 总线、内核、内存和 DMA 使用的 HCLK 时钟。②、通过 8分频后送给 Cortex 的系统定时器时钟。③、直接送给 Cortex 的空闲运行时钟 FCLK 。④、送给 APB1 分频器。 APB1 分频器可选择 1、2、4、8、16分频,其输出一路供APB1 外设使用(PCLK1 ,最大频率 36MHz) ,另一路送给定时器(Timer)2 、3、4 倍频器使用。该倍频器可选择 1或者 2倍频,时钟输出供定时器 2、3、4使用。⑤、送给 APB2 分频器。 APB2 分频器可选择 1、2、4、8、16分频,其输出一路供APB2 外设使用(PCLK2 ,最大频率 72MHz) ,另一路送给定时器(Timer)1 倍频器使用。该倍频器可选择 1或者 2倍频,时钟输出供定时器 1使用。另外, APB 2 分频器还有一路输出供 ADC 分频器使用,分频后送给 ADC 模块使用。 ADC 分频器可选择为 2、4、6、8分频。在以上的时钟输出中,有很多是带使能控制的,例如 AHB 总线时钟、内核时钟、各种 APB1 外设、APB2 外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。需要注意的是定时器的倍频器,当 APB 的分频为 1时,它的倍频值为 1,否则它的倍频值就为 2。连接在 APB1( 低速外设)上的设备有:电源接口、备份接口、CAN 、USB 、I2C1 、 I2C2 、UART2 、UART3 、SPI2 、窗口看门狗、Timer2 、Timer3 、Timer4 。注意 USB 模块虽然需要一个单独的48MH z时钟信号,但它应该不是供USB模块工作的时钟, 而只是提供给串行接口引擎(SIE) 使用的时钟。 USB 模块工作的时钟应该是由 APB1 提供的。连接在 APB2( 高速外设)上的设备有: UART1 、SPI1 、Timer1 、ADC1 、ADC2 、所有普通 IO口(PA~PE) 、第二功能 IO口。下图为 STM32 芯片的时钟结构图。从图中可以直观的看出 STM32 的时钟封装。 STM32 芯片时钟配置 2009-12-26 11:44 对STM32 进行软件开发时,最基本的就是对 STM32 芯片进行时钟和端口配置, 然后是对项目所用到的片上资源进行配置并驱动,下面给出时钟和端口配置代码, 该代码几乎涵盖了片上所有时钟和端口配置项目,可根据自己需要进行删除不必要的配置项: /********************************************************************** ******** **Function Name :RCC_Configuration 复位时钟控制配置*Description :Configures