CAN总线多帧即连续帧数据发送 拆包与重装

1939协议支持多帧数据发送即数据超过8个的帧发送

用户可以通过ID来识别当前帧是否为多帧发送(连续帧),如果是多帧发送ID,举例:1C EC F4 56 其中 F4和56为目标地址和源地址,重点关注1C和EC,通过ID的这两个字节来判断是否为连续帧。

当通过ID判断该帧为连续帧后,开始解析这一帧的数据。举例:10 0D 00 02 FF 00 06 00,其中10为控制字,0D 00为整个消息的字节数 低位在前,02为数据包个数,即这个连续帧数据包含2个标准帧组成,FF 保留 默认即为FF,00 06 00 消息的参数组编号 即 这个消息识别码 用户可以通过这个消息识别码来确定如何来解析这组数据。那么,这帧数据最后表示含义即为:我要向你发送一个 消息参数组编号为(00 06 00),总字节数为(0D),帧数为(02)的一个连续帧。

控制字的含义:

10:向目标地址请求发送数据;

11:用于响应源地址的发送请求,即告诉源地址 你可以给我发数据了;

13:消息结束,即目标地址已经从源地址将数据收过来了;

FF:放弃连接。

控制字不同 后边的 数据含义也不同:

11:以前边的发送数据举例 11 02 01 FF FF 00 06 00,02  可以发送的数据包数 即 告诉源地址我可以接收2帧数据,01  下一个要发送的数据包编号,两个FF为 保留字节,00 06 00 消息的参数组编号。整个帧的意思即  我可以接收消息参数据组编号(00 06 00)的(02)帧数据,你从(01)开始发送数据吧

13:还是以前边的发送数据举例 13 0D 00 02 FF 00 06 00,0D 00 接收到的整个消息的字节数,02 接收到的全部数据包数,FF 保留,00 06 00消息的参数组编号。整个帧的意思即 我收到了消息参数组编号(00 06 00)的(02)个标准帧数据,共计(0D)个字节。


  • 19
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值