STM32外部时钟更改后程序设置方法.pdf

STM32外部时钟更改后程序设置方法.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32外部时钟更改后程序设置方法

STM32F10x 时钟系统设置 | 这个夏天199271 STM32F10x 时钟系统框图: STM32F10x 时钟系统设置 | 这个夏天199271 由于STM32F10x 库官方采用的是默认的外接8MHz 晶振,因此造成很多用户也采用了8MHz 的晶振,但是,8MHz 的晶振不是必须的,其他 频点的晶振也是可行的,只需要在库中做相应的修改就行。 方法(1): 第一步:在main 函数中执行下面的函数 (红色字体的C 语句,根据自己的硬件的外部晶振大小而确定的) // RCC_HSE_Configuration 函数设置HSE 作为PLL 的时钟源,不设置的话在main 函数执行前执行了SystemInit 函数 /************************************* * 执行SystemInit 函数后芯片内部时钟为: * SYSCLK 72MHz * AHB 72MHz * PCLK1 36MHz * PCLK2 72MHz * PLL 72MHz **************************************/ void RCC_HSE_Configuration(void) { RCC_DeInit();//将外设RCC 寄存器重设为缺省值 RCC_HSEConfig(RCC_HSE_ON);//设置外部高速晶振(HSE) HSE 晶振打开(ON) if(RCC_WaitForHSEStartUp() == SUCCESS)//等待HSE 起振,SUCCESS;HSE 晶振稳定且就绪 { RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB 时钟(HCLK) RCC_SYSCLK_Div1 AHB 时钟 = 系统时钟 RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB 时钟(PCLK2) RCC_HCLK_Div1 APB2 时钟 = HCLK RCC_PCLK1Config(RCC_HCLK_Div2);//设置低速AHB 时钟(PCLK1) RCC_HCLK_Div2 APB1 时钟 = HCLK/2 FLASH_SetLatency(FLASH_Latency_2);//设置FLASH 存储器延时时钟周期数FLASH_Latency_2 2 延时周期 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//选择FLASH 预取指缓存的模,预取指缓存使能 RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);//设置PLL 时钟源及倍频系RCC_PLLConfig(外部时钟分频因子,PLL 倍频系数) RCC_PLLCmd(ENABLE);//使能PLL while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//检查指定的RCC 标志位(PLL 准备好标志)设置与否 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置系统时钟(SYSCLK) while(RCC_GetSYSCLKSource() != 0x08);//0x08:PLL 作为系统时钟 } }

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档