STM32时钟详细配置

STM32时钟配置
STM32时钟配置步骤// 开启HSI时钟寄存器操作
1).开启高速时钟HSE // 设置时钟控制寄存器RCC_CR 位16 置1使能
RCC->CR|= 0x00010000;
位16 :HSEON:外部高速时钟使能
当进入待机和停止模式时,该位由硬件清零,关闭4-16MHz外部振荡器。当外部4-16MHz 振荡器被用作或被选择将要作为系统时钟时,该位不能被清零。
2).等待高速时钟就绪// 读取时钟控制寄存器RCC_CR位17为1就位
水泥砂浆
while(!(RCC-> CR>>17));
位17:HSERDY:外部高速时钟就绪标志
由硬件置’1’来指示外部4-16MHz振荡器已经稳定。在HSEON位清零后,该位需要6个外部4-25MHz振荡器周期清零。
3).设置APB1,APB2,AHB分频系数// 设置时钟配置寄存器RCC_CFGR
RCC_CFGR=0x00000400;
gct 考试(AHB :位4-7, (低速)APB1 :位8-10, (高速)APB2 :位11-13)
位7:4:HPRE[3:0]:AHB预分频(AHB Prescaler)0xxx:SYSCLK不分频
isp服务商位10:8:PPRE1[2:0]:低速APB预分频(APB1) 100:HCLK 2分频
位13:11:PPRE2[2:0]:高速APB预分频(APB2) 0xx:HCLK不分频
4).设置PLL倍频// 配置时钟配置寄存器RCC_CFGR 位18-21
RCC_CFGR|=7<<18;
位21:18:PLLMUL:PLL倍频系数0111:PLL 9倍频输出
5).PLL输入时钟源选择// 配置时钟配置寄存器RCC_CFGR 位16
RCC_CFGR|=1<<16;
位16:PLLSRC:PLL输入时钟源(PLL entry clock source) 1:HSE时钟作为PLL输入时钟。由软件置’1’或清’0’来选择PLL输入时钟源。只能在关闭PLL时才能写入此位6).设置FLASH延时周期//48<system<72M:2个延时周期
FLASH->ACR|=0x32;
7).PLL使能// 设置时钟控制寄存器RCC_CR 位24
RCC_CR|=0X01000000;
位24:PLLON:PLL使能1:PLL使能当进入待机和停止模式时,该位由硬件清零。当PLL时钟被用作或被选择将要作为系统时钟时,该位不能被清零。
元方是谁8).等待PLL就绪// 设置时钟控制寄存器RCC_CR 位25置1锁定
while(!(RCC_CR>>24));
位25:PLLRDY:PLL时钟就绪标志1:PLL锁定PLL锁定后由硬件置’1’。
9).设置PLL作为system时钟// 配置时钟配置寄存器RCC_CFGR 位0-1 :10
RCC_CFGR|=0X00000002;
位1:0 SW[1:0]:系统时钟切换10:PLL输出作为系统时钟频谱仪
在从停止或待机模式中返回时或直接或间接作为系统时钟的HSE出现故障时,由硬件强制选择HSI作为系统时钟(如果时钟安全系统已经启动)
10).等待system时钟稳定// 查看时钟配置寄存器RCC_CFGR位2-3 :10
while((RCC->CFGR & (uint32_t)0x0c) != (uint32_t)0x08)
位3:2:SWS[1:0]:系统时钟切换状态10:PLL输出作为系统时钟;
跨文化交际英语论文由硬件置’1’或清’0’来指示哪一个时钟源被作为系统时钟

本文发布于:2024-09-22 17:36:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/570730.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时钟   系统   寄存器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议