我的目的:
用TCAN4550扩展出一个标准的CAN 2.0B口,,本来是要与CAN 2.0B的设备通信的,,为了避免引入其他问题,,先将demo的标准帧的收发调通,再调试别的功能。
滤波器方面,,我已经将屏蔽寄存器初始化为0,,也就是接受所有报文。
当前的问题是:TCAN4550的DEMO中的数据帧发送不到CAN总线。
步骤:
1、我将基于MSP430的TCAN4550 DEMO移植到我的M3处理器,现在M3与TCAN4550读写数据正常(都DEVICE ID正常返回设备ID);说明移植需求的调试已经完成。
2、应用层我基本没有改变,但是经过调试发现,初始化标准ID滤波器配置的时候总是与写入的值不一致,引起配置错误。如下图所示:
因为SIDFC写入的值与返回值不一致,直接退出,,引起TCAN4x5x_MCAN_CACHEITCAN中的数据不正确,,在后面写操作的时候检查该CACHE中的数据异常,,不能直接写入。
请问:为什么会出现上图所示:写入和读出不一致现象?应用层基本按照DEMO的应用层逻辑,没有改变。
3、如果我把DEMO中的CAN FD初始化当作CAN 2.0B用,,可以和CAN 2.0B的设备正常通信 ?