• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

TTL转CAN模块和单片机通讯的话,有时候丢帧怎么解决?

huihui163 2020-05-20 浏览量:822

TTL转CAN模块和单片机通讯的话,有时候丢帧怎么解决?串口波特率为9600,can为500k。一帧数据为130个字节,can

每次中断都是8个字节,但是来的字节存到缓冲里,在发出去的话,我在电脑上用串口助手发送130个字节,发的慢的话接受正常,如果每隔200ms发一次的话,有时候收不到数据了

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • CAN的速度太快,而TTL的速度太低,不匹配是最可能的原因,都把速度调整低一些呢
    • 发布于 2020-05-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 只能加大缓存区,或者提高波特率可以用115200,这样缓冲区就不会溢出
    • 发布于2020-05-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种肯定要丢帧的,因为串口和CAN 的速度根本存在差异,而且CAN上面的数据是源源不断的,不过你可以在那个模块上面做一个策略,让它过滤掉你不感兴趣的ID,只保留你需要的
    • 发布于2020-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口与CAN的速度是不一样的,你要迁就串口的速度,不要进行快速的数据读写
    • 发布于2020-06-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

TTL转CAN模块和单片机通讯的话,有时候丢帧怎么解决?