打印

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

[复制链接]
305|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝