关于STM32F4 USART6 1200波特率乱码问题
2017-10-09 17:41
92 查看
STM32F4的USART1和USART6都是挂在RCC_APB2Periph_USART1时钟下,168MHZ下,USART1和USART6挂的APB2主频是84MHZ,uart3等挂的是APB1主频是48MHZ。默认情况下的时钟树如下图
![](https://img-blog.csdn.net/20171009181257587?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVuZ3FpbmdiaW41MjE5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
所以在默认情况下,UART2 ~ UART5波特率在1200可以正常,USART1和USART6会通信失败。
解决方法:
我们将APB2的频率降到48Mhz,调用void RCC_PCLK2Config(uint32_t RCC_HCLK)该函数,如下图
![](https://img-blog.csdn.net/20171009183034696?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVuZ3FpbmdiaW41MjE5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
函数传入参数
![](https://img-blog.csdn.net/20171009183041483?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVuZ3FpbmdiaW41MjE5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
结合之前的时钟树,将APB2的主频降低。
测试结果显示将APB2主频降到48MHZ以后,1200波特率可稳定工作。
所以在默认情况下,UART2 ~ UART5波特率在1200可以正常,USART1和USART6会通信失败。
解决方法:
我们将APB2的频率降到48Mhz,调用void RCC_PCLK2Config(uint32_t RCC_HCLK)该函数,如下图
函数传入参数
结合之前的时钟树,将APB2的主频降低。
测试结果显示将APB2主频降到48MHZ以后,1200波特率可稳定工作。
相关文章推荐
- STM32F4: 关于串口打印 中文乱码 问题
- 关于Ansi版Delphi剪切板中文乱码的问题
- 关于网页中显示php查询数据库结果乱码问题
- 关于Eclipse的SVN插件本地与历史资源比对乱码的问题
- 关于Python获取SQLSERVER数据库中文显示乱码问题
- 关于使用MySql乱码问题
- 关于JSP中日文乱码问题的解决
- 关于JS动态显示的中文乱码问题
- 关于后端存储到mysql中的乱码问题
- 关于程序输出音标及个别音节显示乱码的问题
- 关于Keil汉字乱码,0xFD问题解决方法
- 关于Mysql插入中文时报错代码为1366的相关处理及插入中文乱码问题相关处理
- 关于使用ZXing扫描二维码出现中文乱码的问题
- 关于文件的中文乱码问题
- 关于struts2.1.6前台传递中文参数到后台action出现乱码问题的解决办法
- 关于URL或JS中的URL传参中文乱码问题
- 关于hibernate插入数据到mysql数据库中文乱码问题的解决
- 【JAVA】使用jacob生成的html,关于文字乱码处理,图片无法显示等问题。
- 关于EXT的一点点中文乱码的小小问题.
- 解决关于安装完《外语任我说》之后一些软件界面乱码的问题