微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > eCAN的问题,急!

eCAN的问题,急!

时间:10-02 整理:3721RD 点击:


我是这样做的,首先把光盘里的程序进行了一遍,没问题,自收发成功;
然后,我把自收发模式改成了正常模式,即把dsp28_ecan.c中的ECanaShadow.CANMC.bit.STM寄存器由1改为了0;
接着接上示波器,运行程序,发现示波器没有显示,程序卡在
while(ECanaRegs.CANTA.all!=0x0000FFFF); //等待所有邮箱发送完毕
这一行过不去;
最后我又改成了自收发模式,CCS显示自收发成功,可示波器还是没显示。
我用示波器观察我装在PC机上的CAN卡,无论是自收发还是正常发送都是有输出的,
是不是我的板子出了什么问题?

你是不是忘记设置GPIOF的6/7引脚为eCAN外设模式了?

改了还是不行,是不是在InitECan函数中加上如下两行?
GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1;
GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1;
我改过了,示波器还是没有显示

已经解决了,原来必需要连接两个至少两个设备才能观测到信号,谢谢!

iamameng ,我把自己作的两块板子连起来通信不上,不知是不是还要改其它地方?
你就把例程改了那两处么? gpio和 自收发模式两处
两块板子用一样程序,只是1块换了lib和flash。cmd文件,将程序烧到flash里一直跑,
另一块接仿真器跑

谢谢先

小弟我用的是2812,现在做测试程序,想实现把开发板上的数据发送到pc上,接法是:dsp--can转换器----pc;在pc上通过串口调试器观看收到的数据。我现在通过仿真器可以观察到程序可以发数据,可是在PC端却无法接受数据,ID号设为一致,波特率为250k。用示波器观察can引脚始终为高,波特率设置如下:
EALLOW;
/*(BRPREG+1)=10 feeds a 15MHz CAN clock*/
ECanaShadow.CANBTC.bit.BRP = 39;
/*150/10=15*/
ECanaShadow.CANBTC.bit.TSEG2 = 5;
ECanaShadow.CANBTC.bit.TSEG1 = 7;
ECanaRegs.CANBTC.all = ECanaShadow.CANBTC.all;

ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;
ECanaShadow.CANMC.bit.CCR = 0;
ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;
EDIS;
还想请问用示波器观察正常的can收发是什么样的波形啊?

小弟我用的是2812,现在做测试程序,想实现把开发板上的数据发送到pc上,接法是:dsp--can转换器----pc;在pc上通过串口调试器观看收到的数据。我现在通过仿真器可以观察到程序可以发数据,可是在PC端却无法接受数据,ID号设为一致,波特率为250k。用示波器观察can引脚始终为高,波特率设置如下:
EALLOW;
/*(BRPREG+1)=10 feeds a 15MHz CAN clock*/
ECanaShadow.CANBTC.bit.BRP = 39;
/*150/10=15*/
ECanaShadow.CANBTC.bit.TSEG2 = 5;
ECanaShadow.CANBTC.bit.TSEG1 = 7;
ECanaRegs.CANBTC.all = ECanaShadow.CANBTC.all;

ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;
ECanaShadow.CANMC.bit.CCR = 0;
ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;
EDIS;
还想请问用示波器观察正常的can收发是什么样的波形啊?

自收发模式,CCS显示自收发成功,可示波器还是没显示。
我也遇到了这个问题。
是不是必须有两个节点才能测到波形?

外面有没有CAN收发器,如要测试需要要两个节点相连。这是C2000的问题,不应该放在模拟论坛上。


对啊,放错版了

难道是说一共需要三个节点才能通信吗?

我也是同样问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top