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。
问题是:
芯片复位后发送的第一帧数据不是实际邮箱寄存器中的数据
后续发送的数据是前一次发送的数据,也不是邮箱寄存器中的数据