请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28377D 工具/软件:TI C/C++编译器
我为消息框16...32设置 CAN RX FIFO。
对于(i = 16;i < 32;i++){ CAN_setupMessageObject (CANA_base、I、0、CAN_MSG_FRAME_STD、CAN_MSG_OBJ_TYPE_RX、 0、CAN_MSG_OBJ_USE_ID_FILTER | CAN_MSG_OBJ_FIFO、MSG_DATA_LENGTH);
} CAN_setupMessageObject (CANA_base、I、0、CAN_MSG_FRAME_STD、CAN_MSG_OBJ_TYPE_RX、 0、CAN_MSG_OBJ_USE_ID_FILTER ,MSG_DATA_LENGTH);//最后的 FIFO 条目
并通过轮询新消息标志来读取消息。
这正常工作、此配置会写入存储器
接收也按预期工作。
但是、如果我要发送
在这里、我恰好在之后的断点处停止。
消息框32存储器中的配置被覆盖。 此外、还设置了消息框32的 TX 请求标志。
为什么?
消息框32上的 TX 请求将永远不会被清除。
(任何其它可被写入此存储器的 CAN 节点都没有应答。)
从消息框32读取数据始终为零。
感谢你的帮助。


