查看: 4085|回复: 21

[求助] KL16串口中断发送出现误码,请各位指点指点

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1390 天

    [LV.10]以坛为家III

    8

    主题

    1420

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4370
    最后登录
    2024-5-7
    发表于 2019-11-27 12:41:34 | 显示全部楼层 |阅读模式
    本帖最后由 jian0052 于 2020-1-3 13:20 编辑

    我用的芯片是MKL16Z64VFM4,用串口0中断发送数据,最近发现发送的数据偶尔会有误码,但和校验是正确的,所以数据会被正常接收,想不通为什么会这样,请各位大神指点下。


    误码
    微信图片_20191127085218.jpg
    原本应该发送的45110001变成45110005,只出现过一次,后面都正常,但误码还偶尔会出现在别的字节上。

    找到原因了,代码没有问题,是模组传输过程中造成的误码。版主结贴吧。

    我知道答案 目前已有21人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20161
    最后登录
    2024-5-7
    发表于 2019-11-27 13:23:31 | 显示全部楼层
    波特率用的多少?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20161
    最后登录
    2024-5-7
    发表于 2019-11-27 13:28:13 | 显示全部楼层
    一般是波特率不匹配导致的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1390 天

    [LV.10]以坛为家III

    8

    主题

    1420

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4370
    最后登录
    2024-5-7
     楼主| 发表于 2019-11-27 13:36:43 | 显示全部楼层
    波特率是9600,这个是匹配的。关键的问题是不是在传输中出现误码,是在组包的过程中出现的,和校验是通过了的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20161
    最后登录
    2024-5-7
    发表于 2019-11-27 14:33:56 | 显示全部楼层
    jian0052 发表于 2019-11-27 13:36
    波特率是9600,这个是匹配的。关键的问题是不是在传输中出现误码,是在组包的过程中出现的,和校验是通过了 ...

    将波特率降到4800再试试看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1390 天

    [LV.10]以坛为家III

    8

    主题

    1420

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4370
    最后登录
    2024-5-7
     楼主| 发表于 2019-11-27 14:41:56 | 显示全部楼层
    小恩GG 发表于 2019-11-27 14:33
    将波特率降到4800再试试看

    这个串口是跟无线模组通信,匹配的就是9600,降下来就不对了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20161
    最后登录
    2024-5-7
    发表于 2019-11-27 14:49:37 | 显示全部楼层
    你看下你的这一个循环
    “ for(i=4;i<24;i++)
                    TxdBuf_uart0[24]+=TxdBuf_uart0;”

    这个循环式应该是计算校验和,是不是少了[i]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1390 天

    [LV.10]以坛为家III

    8

    主题

    1420

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4370
    最后登录
    2024-5-7
     楼主| 发表于 2019-11-27 14:53:46 | 显示全部楼层
    本帖最后由 jian0052 于 2019-11-27 14:58 编辑
    小恩GG 发表于 2019-11-27 14:49
    你看下你的这一个循环
    “ for(i=4;i

    对,是计算校验和,[ i ] 是有的,好像是网页里的命令冲突,不显示了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-25 08:42
  • 签到天数: 391 天

    [LV.9]以坛为家II

    45

    主题

    1337

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3156
    最后登录
    2024-2-19
    发表于 2019-11-28 15:58:10 | 显示全部楼层
    校验通过说明不是串口的问题,是你组装数据是出错了,检查程序
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1390 天

    [LV.10]以坛为家III

    8

    主题

    1420

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4370
    最后登录
    2024-5-7
     楼主| 发表于 2019-11-28 16:13:43 | 显示全部楼层
    七七bb 发表于 2019-11-28 15:58
    校验通过说明不是串口的问题,是你组装数据是出错了,检查程序

    组装数据的代码发在帖子里,出错的字节是直接赋的固定值
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-8 02:53 , Processed in 0.148104 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表