码迷,mamicode.com
首页 > 其他好文 > 详细

STM32F429时钟不正确导致串口无法正确收发

时间:2019-12-15 14:07:51      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:乱码   定位   注意   alt   png   打开   文件的   情况下   通过   

老早之前自己做了块F4的板子,设计原理图时没有去找官方参考,看了手册后就开工了,做完板子回来测试串口发现PC端接收到的都是乱码,尝试了几种波特率也没能正确接收,串口的代码是官方参考例程的,不应该有问题。所以定位到时钟上,下载了官方的参考设计,发现使用的时钟是25M的外部参考时钟,而我的是8M的,打开头文件stm32f4xx.h,找到宏定义如下所示,我的芯片是F429的,按照官方定义外部时钟源是25M

 技术图片

修改为实际的时钟源8M如下:

技术图片

按照以上修改后编译后,PC还是不能正确接收数据,查看system_stm32f4xx.c文件,找到分频因子宏如下,分频因子还是25,

技术图片

这样不能正确分频得到1M,所以修改为8如下,使能正确分频得到1M时钟,编译测试通过。另外需要注意的是以上提到的两个文件默认情况下是无法修改的,需要到文件目录里的对应文件的属性里,把只读属性去除即可修改。

技术图片

 

------------恢复内容结束------------

STM32F429时钟不正确导致串口无法正确收发

标签:乱码   定位   注意   alt   png   打开   文件的   情况下   通过   

原文地址:https://www.cnblogs.com/DPShadow/p/12043785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!