您的位置:首页 > 其它

Stm32f407DISCOVEY学习uart串口波特率乱总结

2014-09-29 10:47 197 查看
这几天调试Stm32f407DISCOVEY。由于没有串口现成的库函数例程,就用的神州王开发板上的例程直接调,结果串口输出老是乱,115200波特率;;试着把它换到 38400居然可以打印,相差3倍多;真相只有一个,进过调试摸索百度,终于找到原因;

.时钟频率不对 由于时钟频率是在库文件里自动定义好的,一开始没有发现,但是波特率一直不对,后来发现问题在库文件里定义的外部晶振是25M,而DISCOVERY的板子上用的是8M的晶振,故产生的主频不对,需要改两个地方,①所以在 stm32f4xx.h中改

#if !defined (HSE_VALUE)

#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

#endif /* HSE_VALUE */

在system_stm32f4xx.c中改

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */

#define PLL_M 8

串口正常打印了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: