使用CUBEMX配置单片机时钟
STM32开发记录
1. 配置时钟
开发流程是先使用STM32CubeMX软件生成项目框架,然后再使用Keil进行软件开发。
1. STM32CubeMX
1.1 配置Debug信息
在Pinout&Configuration下点击 Trace and Debug->DEBUG 选择Serial Wire。 Serial Wire Debug (SWD) 是ARM Cortex-M系列微控制器的一种调试接口,它是JTAG接口的简化版本。
1.2 配置系统时钟
控制板采用的是24MHZ无源晶振,在Pinout&Configuration选择RCC->HSE选择Crystal/Ceramic Resonator。其中HSE为外部时钟,LSE 为内部时钟,使用外部时钟能比内部时钟更加稳定高效。Crystal/Ceramic Resonator为无源晶振;BYPASS Clock Source为有源晶振。
切换到Clock Configuration修改Input frequency的频率为24,其他参数按照下图修改。
1.2.1 总线时钟
总线时钟是整个系统中非常重要的一个时钟信号,为许多核心外设和总线提供了时钟源。和单片机的功耗有直接关系。
AHB总线时钟在CUBEMX中的位置如下图红色框出部分所示。
1.2.2 功耗
芯片的功耗和设置的总线时钟源相关,具体可以参考对应芯片的数据手册,在手册中搜索Supply current characteristics
,查看对应的表格。
有上表可见,系统的功耗和芯片所处的VOS(稳压器电压调试等级)相关,默认VOS0可以提供全功率,调节VOS等级可以使得功耗得到优化。在cubemx中设置好时钟源之后,可以在Pinout & Configuration -> System Core -> RCC
下设置对应的VOS等级。如下图所示。
1.3 配置代码生成
点击右上角 GENERATE CODE 生成 KEIL项目代码。