请教一个C2000的CAN总线问题

2019-03-24 08:53发布

第一次接触CAN总线,有个问题想请教大家 想用LAUNCHXL-F28377S开发板的CAN收发器接收CAN总线上的数据 功能类似汽车故障诊断仪 读取所有数据并通过串口发送至电脑   按照我的理解,是不是配置好CAN模块为中断接收模式 然后收到CAN总线上的数据后F28377会触发CAN中断 此时数据应该在CAN寄存器内 再读取数据,判断ojbect id是不是自己想要的,是就保存,不是就丢弃   不过在学习controlSUITE例程时看到can.c中的CANMessageGet函数里有下边一句话,不清楚是什么意思,难道是在接收数据时要往总线上发一条数据吗?       // Transfer the message object to the message object specified by ui32ObjID.     HWREGH(ui32Base + CAN_O_IF2CMD) = ui32ObjID & CAN_IF2CMD_MSG_NUM_M;       // Wait for busy bit to clear     while(HWREGH(ui32Base + CAN_O_IF2CMD) & CAN_IF2CMD_BUSY)     {     }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
huaiqiao
2019-03-24 12:46
littleshrimp 发表于 2016-10-15 00:01
白天学习了一些CAN总线的东西感觉比想像的复杂
这个函数里的语句好像是通过控制CAN总线上的电平来实现数 ...

虾哥 不好意思。前几天回家了,所以。。。回复慢了好多。。。。
其实监听啥的 ,你不用管,那个是汽车电子用的好像。
像32的can,用起来也是比较方便的。
还有周立功有个can的协议也写的很复杂。。。。

一周热门 更多>

相关问题

    相关文章