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.

28035 eCAN

我在做28035  eCAN通讯的实验,我用USB转CAN模块与上位机进行通讯,28035向上位机发送数据上位机接收正常,但是上位机向28035发送数据时,DSP无法接收数据,始终是相应的CANRMP位无法置位,程序一直是停在while(ECanaShadow.CANRMP.all !=0x00000002);(设置的邮箱作为接收邮箱),请问这是什么问题?

  • 您用TI的F28035的eCAN的ecan_back2back历程试试?

     

  • 嗯,用TI例程没有什么问题的

  • Hi jiyang,

    你有用示波器看一下28035的CANRX引脚上的信号吗?

    请确认上位机发送数据时,CANRX引脚确实有正确的信号。

    或者你比较一下,上位机发送数据和MCU发送数据时,CAN总线(CANH和CANL)上的信号差别,主要是电平上的差别。

    Regards,

    Jay

  • 您好,打扰您一下,我是初学者,导师让我写了一个简单的发送和接收的ecan程序(分别,见附件), A DSP发送,B DSP 接收。用的是CCS3.3

    1.然后我是把发送的程序烧写进了A板。
    但出了问题:(Flash.cmd)在烧写的过程中,出现了一个警告:对于.const那一行,no matching。(见附件)

    2.B板:将程序load program进板子,用仿真器在电脑上,观察接收邮箱寄存器里的值(此板子没有把接收程序烧进板子,但Flash里已经有了以前固化的程序,具体是什么我不清楚,不知道这个对于此时的仿真有没有影响),然后load program到板子里,开始run,在接收邮箱前设置的有断点,然后我就分别把高、低16位装入观察窗口,发现里面已经有值了,而且很大(在附件)这也太奇怪了吧?!2个板子的can的双绞线还没有连接怎么会有值呢?而且一断开,并断电;再一连接仿真器,值还是那个值。 太奇怪了?

    由于是初学者,不知道哪里出了问题,所以想请教您一下,耽误您的宝贵时间了。我怀疑是我的程序有问题,但就是不知道问题出在哪里?

    请教您一下,帮忙看看,谢谢,不胜感激!
    另外,您能否提供一些基于2812的发送、接收成功的例程,我想学习一下;您说的TI官方例程,在哪里可以下载得到?谢谢
    导师催的很紧,所以想借助于成功例程,尽快编好。简单的程序就可以,一个dsp发送1,另一个dsp接收1,只要能实现这个功能就好。谢谢。

    祝您,工作顺利!期待您的回信,再次感谢您。

    发送和接收2个工程.zip