关于F4的can通讯接收函数相关问题

[复制链接]
 楼主| 3月的尾巴 发表于 2018-7-6 10:02 | 显示全部楼层 |阅读模式
各位大佬好,我想请问一个问题。
1.,如果图一绿色部分不返回0的话,意味着报文已经进入FIFO0邮箱,就意味着,报文是正确的,并且已经通过了过滤器,是这么理解吧。
2.,成功接收之后,进入图二的CAN_Receive函数。
3.我点开CAN_Receive函数之后,跳到这里,
图三中的RxMessage->IDE = (uint8_t)0x04 & CANx->sFIFOMailBox[FIFONumber].RIR,检测是标准格式还是拓展格式,在这里检测有啥意义么?
还有,RxMessage->StdId = (uint32_t)0x000007FF & (CANx->sFIFOMailBox[FIFONumber].RIR >> 21);令接收到的ID等于邮箱中的报文ID有什么意义呢?
既然报文已经能通过筛选器进入到了邮箱,不就意味着ID已经在筛选器筛选过了么?我只需要在CAN_Receive读取数据不就可以了么?这是我疑惑的地方,希望大神可以帮我解答!十分感激!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

433

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部