TI中文支持网
TI专业的中文技术问题搜集分享网站

2812CAN模块CANTA不能置位问题

最近在搞CAN通信部分,在测试TI给的例程TXLOOP.c的时候,发现程序总是停在 while(ECanaRegs.CANTA.bit.TA5 == 0 ) {} // Wait for TA5 bit to be set..这一句上,也就是说CANTA5就没有置位,然后就发送不出任何东西。查找了很多资料说是CAN总线上没有接收节点,但是在输出端TX引脚上接上示波器,没有效果;在经过CAN收发器之后,在CANH和CANL端也没有任何反应。为了测试手不是硬件问题,我用28335的开发板和demo例程也试过了,一样的问题,都是停在等待置位的那句话上。想问一下,例程里面是有BUG么?还是我需要如何外加配置才能通过?

user151383853:

既然有两块板, 不如连接起来一起调试.

也可以先用环回模式调试.

根据 CAN 协议, 发送数据后, 需要接收节点在数据包结束处发送回应信息

最近在搞CAN通信部分,在测试TI给的例程TXLOOP.c的时候,发现程序总是停在 while(ECanaRegs.CANTA.bit.TA5 == 0 ) {} // Wait for TA5 bit to be set..这一句上,也就是说CANTA5就没有置位,然后就发送不出任何东西。查找了很多资料说是CAN总线上没有接收节点,但是在输出端TX引脚上接上示波器,没有效果;在经过CAN收发器之后,在CANH和CANL端也没有任何反应。为了测试手不是硬件问题,我用28335的开发板和demo例程也试过了,一样的问题,都是停在等待置位的那句话上。想问一下,例程里面是有BUG么?还是我需要如何外加配置才能通过?

lv YB:

回复 user151383853:

自测模式试过了,是可以运行的,如果说是需要接收节点在数据包结束处发送回应信息的话,我在发送端TX或者转换芯片之后的CANH和CANL处接示波器不是应该也可以的么?

最近在搞CAN通信部分,在测试TI给的例程TXLOOP.c的时候,发现程序总是停在 while(ECanaRegs.CANTA.bit.TA5 == 0 ) {} // Wait for TA5 bit to be set..这一句上,也就是说CANTA5就没有置位,然后就发送不出任何东西。查找了很多资料说是CAN总线上没有接收节点,但是在输出端TX引脚上接上示波器,没有效果;在经过CAN收发器之后,在CANH和CANL端也没有任何反应。为了测试手不是硬件问题,我用28335的开发板和demo例程也试过了,一样的问题,都是停在等待置位的那句话上。想问一下,例程里面是有BUG么?还是我需要如何外加配置才能通过?

Hank Zhao:

回复 lv YB:

CAN通信至少需要有两个节点,单个的控制器无法通过transceiver发出信息。

赞(0)
未经允许不得转载:TI中文支持网 » 2812CAN模块CANTA不能置位问题
分享到: 更多 (0)