云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > stm32f105更换晶振及时钟配置

stm32f105更换晶振及时钟配置

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 4:08:06

最近使用MDK515,调试stm32f105rbt6,使用MDK 的Manage Run-Time Environment建立好工程后,使用Systick时间老是不准,而定义的串口却能正常收发数据,奇了怪了。记得是已经把里的#define HSE_VALUE ((uint32_t)8000000)改为实际使用的8MHz了啊。再检查串口的波特率设置,原来串口使用的是RCC_GetClocksFreq(&RCC_ClocksStatus);获取时钟RCC_ClocksStatus.PCLK2_Frequency(USART1),而Systick设置时使用SysTick_Config(SystemCoreClock/1000);这两者肯定不一样。那么,配置时钟有问题。在SystemInit(); 中找到时钟配置函数static void SetSysClockTo72(void);发现其配置

/* Configure PLLs ------------------------------------------------------*/ /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */

RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |

RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | RCC_CFGR2_PREDIV1SRC_PLL2|RCC_CFGR2_PREDIV1_DIV5);

主要是这里:PLL2CLK = (HSE / 5) * 8 = 40 MHz,也就是说SetSysClockTo72函数里的配置是以外部晶振(HSE)25M来配置的,因为单单修改HSE_VALUE并不能改变这里的配置,所以Systick定时不准确。将其改为

/* Configure PLLs ------------------------------------------------------*/ /* PLL2 configuration: PLL2CLK = (HSE / 2) * 10 = 40 MHz */ /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */

RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |

RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV2 | RCC_CFGR2_PLL2MUL10 |

RCC_CFGR2_PREDIV1SRC_PLL2|RCC_CFGR2_PREDIV1_DIV5); 再次编译下载运行,OK,问题得到解决。

搜索更多关于: stm32f105更换晶振及时钟配置 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

最近使用MDK515,调试stm32f105rbt6,使用MDK 的Manage Run-Time Environment建立好工程后,使用Systick时间老是不准,而定义的串口却能正常收发数据,奇了怪了。记得是已经把里的#define HSE_VALUE ((uint32_t)8000000)改为实际使用的8MHz了啊。再检查串口的波特率设置,原来串口使用的是RCC_GetClocksFreq(&RCC_ClocksStatus);获取时钟RCC_ClocksStatus.PCLK2_Frequency(USART1),而Systick设置时使用SysTick_Config(SystemCoreClock/1000);这两者肯定不一样。那么,配置时钟有问题。在SystemInit(); 中找到时钟配置函数static void S

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com