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.
大家好,我在使用F28374S时CANB通信异常,求助,谢谢!
问题描述:CANA、CANB都有使用,波特率1MHZ,扩展帧,1-16号邮箱发送,17-28号邮箱接收,同样的初始化,CANA可以正常收发,CANB不能,通信流程是PC通过CAN上位机软件给分别F28374S的CANA、CANB发数据,CANA、CANB收到之后应答2包数据给PC,仿真查看CANA、CANB的寄存器,发现有一处不一样CAN_TEST,查询手册CAN_TEST = 0x80,表示其bit7 (RX)为1(隐形),但CANB为0(显性),用万用表量CANA、CANB的RX都为高电平(隐形),为何CANB的CAN_TEST的RX位不更新 ?用示波器测量过CANH、CANL差分信号,波形是很好的,错误寄存器也没报错。
PS:测试过程中发现一些奇怪的现象
查看存储器的空间使用,并未使用满,增加Flash存储空间,CANB仍然收发失败。
参考的是哪个例程?
看一下CAN_TEST Register的描述:
spruhx5g_TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)第2382页21.15.2.6 CAN_TEST Register (Offset = 14h) [reset = 0h]
抱歉,您发的图片打开不了,我是根据C2000Ware里3.03版本“ f2837xs\examples\cpu1\can_external_transmit\cpu01\can_external_transmit.c”修改的,我想知道是CAN_TEST的RX具体有什么作用,数据什么时候会更新,因为我用示波器测CAN收发器的RX引脚是高电平(隐性状态),该引脚直连DSP的RX引脚,为啥CAN_TEST的RX不是1呢 ?
CAN TEST寄存器是在test mode中使用的。可以看一下TRM的21.4.3 Test Modes,每一种test mode的信号连接都不同。
在正常的工作模式中是不参考这个寄存器的。