打印
[技术问答]

修改的nuc972的can驱动问题求解

[复制链接]
509|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2024-8-6 17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件描述:
nuc972  can0和can1 通过线路连接在一起。
测试程序的描述如下:
rt_can1_thread_entry 驱动 can0口 并每隔5秒钟发送一个 remote_frame 或 发送一个 data_fame。并接收can1发送回的响应frame
rt_can2_thread_entry  接收 can1发送过来的 remote_frame 或data_frame 。并把接收到的frame再发送回去  。

这个过程已经实现了。但是问题如下:
如果can1 收到remote frame   我却向 can0发送一个data frame  can1_thread就收不到该数据   对应的can中断 指示 RX OK但是没有相应的数据收到。
已经调试好久了一直调试不通。

使用特权

评论回复
沙发
chenqianqian| | 2024-8-8 08:18 | 只看该作者
没有仔细研究过CAN的通信机制和原理

使用特权

评论回复
板凳
jcky001|  楼主 | 2024-8-8 16:56 | 只看该作者
检查消息ID是否匹配

使用特权

评论回复
地板
jcky001|  楼主 | 2024-8-8 16:57 | 只看该作者
使用CAN控制器的中断和错误状态寄存器来检查是否有任何错误或异常情况发生,这可能会阻止数据帧的接收。

使用特权

评论回复
5
cr315| | 2024-8-9 16:00 | 只看该作者
在can1_thread的CAN控制器中配置正确的消息ID过滤器,以便它能够接收来自can0的数据帧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1476

主题

4225

帖子

6

粉丝