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

28035的can发送数据为前一次发送的数据

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

Susan Yang:感觉这问题有点难以定位,建议您CCS在线调试一下程序,查看数据发送的过程问题在哪里

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

zhaoheng li:

回复 Susan Yang:

我就是在ccs里面调试,看到正确数据已经写入寄存器了,结果总线上发的是上一帧数据

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

Susan Yang:

回复 zhaoheng li:

我看您在 e2e.ti.com/…/800320 也发了帖子

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

zhaoheng li:

回复 Susan Yang:

是的,这个问题困扰好几天了

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

zhaoheng li:

回复 zhaoheng li:

问题已经解决。
原因是先写了CANTRS寄存器,判断了CANTA寄存器以后,才写了MDL,MDH寄存器

28035调试can时遇到这样的问题:

芯片复位以后,开始发送一帧数据,假设发送的数据为01 01 01 01 01 01 01 01,跟踪到发送邮箱写入邮箱寄存器的数据是01 01 01 01 01 01 01 01,长度(DLC位)是8,但是用can盒抓取总线上的数据时,这一帧数据的帧id正确,数据长度为0,没有数据段。

再次发送(10ms以上)这一帧数据,数据正确发送。

发送另外一帧数据(02 02 02 02 02 02 02 02),跟踪到发送邮箱写入发送寄存器的数据是02 02 02 02 02 02 02 02,长度为8,但是用can盒抓取总线上的数据时,发送的仍然是01 01 01 01 01 01 01 01。

 问题是:

芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据

后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据

K Mr:发送数据的时候在CCS中能够实时查看寄存器的数据,你可以看下寄存器的值

赞(0)
未经允许不得转载:TI中文支持网 » 28035的can发送数据为前一次发送的数据
分享到: 更多 (0)