- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32时钟配置方法详解
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③LSI是低速内部时钟,RC振荡器,频率为40kHz。
④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
二、在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:
①对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。②对于少于100脚的产品,有2种接法:第1种:OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能;第2种:分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出0。此方法可以减小功耗并(相对上面)节省2个外部电阻。
三、用HSE时钟,程序设置时钟参数流程:01、将RCC寄存器重新设置为默认值???RCC_DeInit;02、打开外部高速时钟晶振HSE????RCC_HSEConfig(RCC_HSE_ON);03、等待外部高速时钟晶振工作????HSEStartUpStatus?=?RCC_WaitForHSEStartUp();04、设置AHB时钟?????????RCC_HCLKConfig;05、设置高速AHB时钟?????RCC_PCLK2Config;06、设置低速速AHB时钟???RCC_PCLK1Config;07、设置PLL??????????????RCC_PLLConfig;08、打开PLL??????????????RCC_PLLCmd(ENABLE);09、等待PLL工作???while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)?==?RESET)10、设置系统时钟????????RCC_SYSCLKConfig;11、判断是否PLL是系统时钟?????while(RCC_GetSYSCLKSource()?!=?0x08)12、打开要使用的外设时钟????RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()
四、下面是STM32软件固件库的程序中对RCC的配置函数(使用外部8MHz晶振)
/*******************************************************************************
*?Function?Name??:?RCC_Configuration?
*?Description????:??RCC配置(使用外部8MHz晶振)
*?Input????????????:?无
*?Output?????????:?无
*?Return?????????:?无
*******************************************************************************/
void?RCC_Configuration(void)
{
??/*将外设RCC寄存器重设为缺省值*/
??RCC_DeInit();
?
??/*设置外部高速晶振(HSE)*/
??RCC_HSEConfig(RCC_HSE_ON);???//RCC_HSE_ON——HSE晶振打开(ON)
?
??/*等待HSE起振*/
??HSEStartUpStatus?=?RCC_WaitForHSEStartUp();
?
??if(HSEStartUpStatus?==?SUCCESS)????????//SUCCESS:HSE晶振稳定且就绪
??{
????/*设置AHB时钟(HCLK)*/?
????RCC_HCLKConfig(RCC_SYSCLK_Div1);??//RCC_SYSCLK_Div1——AHB时钟=?系统时钟
?
????/*?设置高速AHB时钟(PCLK2)*/?
????RCC_PCLK2Config(RCC_HCLK_Div1);???//RCC_HCLK_Div1——APB2时钟=?HCLK
?
????/*设置低速AHB时钟(PCLK1)*/????
RCC_PCLK1Config(RCC_HCLK_Div2);???//RCC_HCLK_Div2——APB1时钟=?HCLK?/?2
?
????/*设置FLASH存
您可能关注的文档
最近下载
- 城市轨道交通车厢LCD电子地图设置标准、列车车门号编号设置原则、各线线路号.pdf VIP
- 乡镇政法委员个人述职报告.docx VIP
- 伍德里奇计量经济学答案.doc
- 2023年天津中德应用技术大学公共课《思想道德基础与法律修养》科目期末试卷A(有答案).docx VIP
- 2023年广东省深圳市育才第二中学中考一模物理免费试卷完整版.docx VIP
- Q XMJL 644-2016_XML504系列工程车 企业标准.pdf
- 数字化转型驱动经济高质量发展的路径分析.docx VIP
- 冷锅串串项目商业计划书.pptx VIP
- 计算机程序设计员理论试题(题库).pdf VIP
- 晕血晕针的应急处理.pptx
文档评论(0)