主题中讨论的其他器件:C2000WARE
大家好、
客户存在一个问题需要您的帮助:
1.本手册下图中的结构是什么意思? 这不是寄存器配置位对吗? 如何将这些位与特定寄存器匹配? 例如 MsgVal、我可以在哪个寄存器中将其设置为0或1?
2.掩码的使用。
根据我的理解、需要首先启用掩码功能、即上表中的 UMASK 位需要设置为1、然后根据 MSGID 位数(11位或29位)设置滤波器配置位。
假设发送的 MSGID 为0x0003 (即最后两个位为1)和0X0007 (即最后三个位为1)
如果未启用 Mask 函数,则 CAN 网络节点的 CAN_setupMessageObject()函数的第三个输入参数配置为0x0003。 由于屏蔽功能未启用、该节点仍在同时接收两条 MSGID 为0x0003和0x0007的消息。 因此、接受的消息 ID 数据集(0x0003)不是有用的信息、不确定这种理解是否正确?
TI 的当前例程为单次发出/接收、但接收端具有显式 MSGID 集(与传输的 MSGID 一致)。 由于屏蔽函数被置位或者由于发送接收的 MSGID 是一致的、所以不清楚在这种情况下接收端是否能够接收数据。
在上面的示例中、如果你只想接受 MSGID 0X0003的数据、我应该将接收 MSGID 消息配置为0x0003并启用掩码并将 msgIDMask 设置为完全0XFFFFFFFF 吗?
据了解、如果您希望接收节点的某个位与其 MSGID 中的相应位密切匹配、则必须启用屏蔽并且相应位必须设置为1、对吗?
3.CAN_setupMessageObject()函数在当前 TI 例程中用于配置 CAN,但在哪里可以实现启用掩码函数?
您可以帮助检查此案例吗?
谢谢、此致、
本