Other Parts Discussed in Thread: TMS570LS1227
程序执行到while(!canIsRxMessageArrived(canREG1, canMESSAGE_BOX2));一直在这循环,其中SPI接口是电源控制芯片的接口,控制电源芯片CAN口的供电,不用看SPI。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: TMS570LS1227
程序执行到while(!canIsRxMessageArrived(canREG1, canMESSAGE_BOX2));一直在这循环,其中SPI接口是电源控制芯片的接口,控制电源芯片CAN口的供电,不用看SPI。
我当然知道这个没有设置中断,这个是用while循环做的,之前用中断做没进入中断,就改成用while循环,你能帮我看看吗,你有这方面的程序没?有能发我我一份吗?
Huatao,你好!
如果开发板能发送数据,并确认CAN助手能接收到正确的数据,说明硬件没问题。
目前接收不到CAN总线数据,很有可能是初始化配置的原因。
1.确认接收屏蔽寄存器设置是否正确,在你的程序中设置的ID是否和你的USB-CAN转接卡的ID一致;
2.确认两个节点CAN总线的的通信速率是否一致;
3.可以试一下开发板CAN的自发自收模式是否成功。如果选择中断接收,需打开接收中断使能。
另外,你可以参考以下之前的解决方案:
http://www.deyisupport.com/question_answer/microcontrollers/hercules/f/70/t/52332.aspx
或按附件例程试一下CAN中断接收的情况,看是否成功。