偶然拿到了一块stm32f401 re Nucleo,尝试用了下串口通信没想到如此艰难,在代码以及串口软件设置无误的情况下居然一直收到乱码,折腾了两天也是醉了,最后发现stm32f4xx.h此库函数文件中默认晶振是25MHz,但是stm32f401 re Nucleo的外部晶振为8MHz,坑!
为了防止大家掉进同一个坑,特发此贴,希望对大家有帮助,如有错误请指出,互相再探讨。
废话少说,我们开始吧:
⒈修改stm32f4xx.h中的HSE_VALUE的值
将#define HSE_VALUE ((uint32_t)25000000) 修改为 #define HSE_VALUE ((uint32_t)8000000)
⒉修改system_stm32f4xx.c中的PLL_M值
将#define PLL_M 25 修改为 #define PLL_M 8
⒊修改工程中options设置
[url=]图片[/url]
这样就可以了,希望你能成功!
1509209553(1).jpg
(7.3 KB, 下载次数: 5)
下载附件
2017-10-29 01:03 上传 |