1、问题背景
有客户反应,XR系列MCU在修改完串口波特率后,打印输出的是乱码,通过仪器抓波形发现输出的波特率与设置不一致。
2. 问题描述
串口修改波特率后与目标波特率不匹配。
3. 问题分析
XR系列MCU的波特率理论计算是baund=apb_freq/(16*div),其中apb_freq是APB总线时钟频率,div是分频系数,div计算结果采用去尾法会产生误差。板级文件board_config.h 中BOARD_APBS_CLK_SRC以及BOARD_APBS_CLK_FACTOR可配置APB时钟总线频率。实际应用中,串口误码率建议小于5%,从计算公式得知波特率会出现不是百分百的匹配的情况,但是波特率在允许的误差范围内是可以正常使用的。
4.解决方法
通过调整BOARD_APBS_CLK_SRC以及BOARD_APBS_CLK_FACTOR、或者cpu主频来匹配相应的波特率,但是要注意同一个分频值可能出现不能同时兼容所有波特率的情况。下图是主频和分频计算出波特率的示例:
原贴链接:https://bbs.aw-ol.com/topic/737
全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com/
全志及开发者最新动态可以关注全志在线微信公众号
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)