stm32 CAN通讯,大于8字节如何发送?
最近刚刚接触CAN 通讯,想通过实验来慢慢学习和理解。网上查了下大于8字节如何发送,都说是拆包发送。我的理解是:如果是8字节就发送一帧,大于8字节就发送两帧,是这么理解吗?发送8字节数据截图:
发送16字节截图:
最大8字节,分包发送,有标准的分包格式。网上搜一下就能找到。 一帧只有8个字节,多了就的分包了 有分包的代码吗??能否贴出来参考下?? 如果有FD CAN可以使用FD CAN,没有就分包发送 qazplm3218 发表于 2019-8-21 14:51
有分包的代码吗??能否贴出来参考下??
大概我把我自定义的说一下:
一共8个字节
第一个字节定义为功能码,
第二个字节定义为一共几条,
第三个字节定义为当前是第几条,
当第一条时第四个字节定义为有效数据总长度,
最后那个字节定义为校验值
我发个我的例子来看一下比较直观:
29 03 01 0A 01 01 02 CRC8
29 03 02 14 03 01 19 CRC8
29 03 03 00 00 35 CRC8
CAN FD能较好保证数据的完整性,拆包有潜在的丢包风险,要设计校验和等方式做验证。 stm1024 发表于 2019-8-21 16:31
CAN FD能较好保证数据的完整性,拆包有潜在的丢包风险,要设计校验和等方式做验证。 ...
大于64个字节一样要拆包 奏奏奏 发表于 2019-8-21 16:37
大于64个字节一样要拆包
如果比64字节大,有限考虑的就应该是以太网了 奏奏奏 发表于 2019-8-21 16:16
大概我把我自定义的说一下:
一共8个字节
第一个字节定义为功能码,
其實你這些功能可以用擴充ID來作手腳。
页:
[1]
2