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.

TMS320F280049C: CAN报文发送异常,自动连续发送很多包

Part Number: TMS320F280049C
Other Parts Discussed in Thread: LAUNCHXL-F280049C

现象:

在实验中发现,CAN总线连接不牢固,CAN报文会不按照程序设计,突然连续发送很多包。

用的是TI LAUNCHXL-F280049C开发板,用的J14口的CAN。

我的程序是每次上电后,280049发一帧0x56的报文,就发一次,但是发现有时候会连续发送很多包数据出来。用仿真器看了,程序里没有在运行发送任务,推测是CAN收发器自己在发送0x56报文。

然后我把CAN总线接牢固,就正常了。

疑问:

CAN接线不牢时,这是正常现象吗?如果CAN接线松动时,如何控制280049,让它不要自己乱发数据?

大概配置如下:

CAN 500k速率

CAN_initModule(CANA_BASE);

CAN_selectClockSource(CANA_BASE, CAN_CLOCK_SOURCE_SYS);
CAN_setBitRate(CANA_BASE, DEVICE_SYSCLK_FREQ, 500000, 20);

使能AutoBusOnTime 

CAN_setAutoBusOnTime( CANA_BASE,100000 );
CAN_enableAutoBusOn(CANA_BASE);

或者屏蔽AutoBusOnTime 

//CAN_setAutoBusOnTime( CANA_BASE,100000 );
//CAN_enableAutoBusOn(CANA_BASE);

都试过,效果一样。

CAN报文数据如下,ID用的0x56,可见发送异常时,CAN报文的间隔小于0.3ms