Other Parts Discussed in Thread: HALCOGEN
1.如何配置HALGoGen,才能实现ARM芯片之间的CAN通信呢?
2.我用自动生成的canGetData函数,为何不能放在一个while循环中呢,就是第一次会返回1,代表成功。但是之后会返回0,代表失败。是不是在调用完函数之后需要对messageBox进行一定的操作才可以。
谢谢
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: HALCOGEN
1.如何配置HALGoGen,才能实现ARM芯片之间的CAN通信呢?
2.我用自动生成的canGetData函数,为何不能放在一个while循环中呢,就是第一次会返回1,代表成功。但是之后会返回0,代表失败。是不是在调用完函数之后需要对messageBox进行一定的操作才可以。
谢谢
谢谢你的回答。
我在这之前会这么调用
while(!canIsRxMessageArrived())函数
然后再调用canGetData函数
但是,程序会显示一直卡在while语句那里。
Hi Yichao,
我看过你的程序了,是在CAN总线的初始化里面没设置正确。messagebox1 对应的CAN ID和你的usb转CAN发送出来的数据的ID符不一样,从而导致你的3137接收不到数据。
你可以通过修改HALCOGEN里面的ID来修改你的程序。或者是说做如下的改变。这样CAN节点就不会屏蔽任何ID,所有的CAN 信息都会接收。
canREG1->IF1MSK = 0xC0000000U | (((uint32)0x00000000U & (uint32)0x000007FFU) << (uint32)18U);
Ken
你好,已经按照你写的代码解决问题了,但是刚刚ccs出现一个小问题,点击小虫子之后程序会自动执行,不知道原因在哪里。
Hi Yichao,
可以尝试把板子断电以后再重新插上,很有可能是板子在运行硬件检测的过程中,发现了问题,而默认的程序里面只设置了一个while(1)的循环来处理。
Ken
hello,时间比较久了,留一下你的邮箱吧,我抽空找一下发给你
hello,你好,我这边找了一下,暂时没找到,你可以找楼上那个TI的同学帮忙看一下,抱歉
我刚刚找到了,还有一些当时的邮件,可以转给你,你留个邮箱吧