导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【FAQ】全志XR806芯片 串口修改波特率后与目标波特率不匹配如何解决?

    其它全志芯片讨论区
    xr806 xr872 faq 技术支持
    2
    3
    2343
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • q1215200171
      budbool LV 9 最后由 编辑

      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主频来匹配相应的波特率,但是要注意同一个分频值可能出现不能同时兼容所有波特率的情况。下图是主频和分频计算出波特率的示例:
      8690e4e9f6224101bdda453d4f7ec9dd.jfif

      1 条回复 最后回复 回复 引用 分享 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Q
        qi777 LV 2 最后由 编辑

        请问这个配置文件在哪里修改,BOARD_APBS_CLK_SRC以及BOARD_APBS_CLK_FACTOY代表什么 意思啊。最近修改波特率遇到乱码问题了。

        1 条回复 最后回复 回复 引用 分享 0
        • Q
          qi777 LV 2 最后由 编辑

          我用的平台时全志H616

          1 条回复 最后回复 回复 引用 分享 0
          • 1 / 1
          • First post
            Last post

          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

          行为准则 | 用户协议 | 隐私权政策