qazplm3218 发表于 2019-8-30 08:48:42

哀歌与世无争 发表于 2019-8-29 13:13
不会同时收到数据,因为can发送有总线优先级仲裁。
多个节点竞争总线时,ID小的优先级高;
ID相同标准帧 ...

我请教个问题,在数据帧里还需要自己在加入检验码吗?比如:和检验、CRC校验

哀歌与世无争 发表于 2019-8-30 09:04:25

qazplm3218 发表于 2019-8-30 08:48
我请教个问题,在数据帧里还需要自己在加入检验码吗?比如:和检验、CRC校验 ...
不用,can总线是自带校验的,一帧can报文里包含一段检验域,使用的是CRC16校验,收到报文后can控制器会自动计算校验,校验通过才接受报文,这些都是硬件外设自动完成的,不用代码编辑,这就为啥汽车都是用can,比串口强大很多。
所以stm32能进can接受中断,说明报文已经通过校验了,不用再加校验了。

mylovemcu 发表于 2019-8-30 09:43:52

qazplm3218 发表于 2019-8-30 08:48
我请教个问题,在数据帧里还需要自己在加入检验码吗?比如:和检验、CRC校验 ...

不用增加校验了,CAN数据位一共就8位,再加数据位就没了,CAN的校验是在硬件中完成的,本身协议就是CRC16   所以CAN的可靠性很高

qazplm3218 发表于 2019-8-30 10:44:29

明白了,谢谢各位指导!!
页: 1 [2]
查看完整版本: CAN通讯?