can 数据接收问题?主要是can单帧和多帧并存,求解析完整接收到can的方法或者思路

2019-07-20 05:59发布

描述:项目中can 多帧数据接收时该如何处理的问题?在该项目的现场控制中会存在单帧、多帧两种形式的can数据,并且其中can数据传输频繁,在多帧传输的过程中一旦传输优先级较高的单帧会使多帧容易出现丢帧情况。另外,发送一个多帧数据(最多8帧数据)。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
1208
1楼-- · 2019-07-22 01:45
yklstudent 发表于 2018-9-13 22:24
CAN还需要CRC?

怎么感觉你像老师在指导我们,看到原子哥的视频是有提到自动加的,也可以自己在外面加来判断吧
yklstudent
2楼-- · 2019-07-22 03:46
 精彩回答 2  元偷偷看……
rui9527
3楼-- · 2019-07-22 04:44
ufbycd 发表于 2018-9-14 11:06
发送方在传输帧被冲突后没有自动重发?那你这发送方都没有遵循CAN总线规范吧。在发送方上解决问题才能治 ...

确实,那问题来了,如何让整个现场遵循CAN总线规范呢?求指点
发送邮箱就三个,需要发送的帧数会不止三帧,我这里为了统一单帧和多帧发送接口,整个发送都是使用延时发送。所以在接收时很容易出问题。
rui9527
4楼-- · 2019-07-22 06:33
 精彩回答 2  元偷偷看……
rui9527
5楼-- · 2019-07-22 07:33
 精彩回答 2  元偷偷看……
ufbycd
6楼-- · 2019-07-22 08:26
rui9527 发表于 2018-9-14 15:33
确实,那问题来了,如何让整个现场遵循CAN总线规范呢?求指点
发送邮箱就三个,需要发送的帧数会不止三 ...

STM32的CAN硬件本身就是完全符合CAN总线规范的呀,硬件上就支持自动重发!配置问题!看看CAN_MCR寄存器的NART位描述:
Bit 4 NART :  No automatic retransmission
        0: The CAN hardware will automatically retransmit the message until it has been
        successfully transmitted according to the CAN standard.
        1: A message will be transmitted only once, independently of the transmission result
        (successful, error or arbitration lost).


一周热门 更多>