This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
下面是我已写入的用于更改 CAN 消息框的屏蔽位的 API。 API 适用于扩展 ID、但不适用于标准 ID。 我将发送0x1FFFFFFFU 屏蔽用于扩展 ID、0x7FFU 屏蔽用于标准 ID。
请帮助!
void canUpdateMASK (canBASE-t *节点、uint32 MessageBox、uint32 msgBoxMASK)
{
/**-等待 IF2就绪可供使用*/
while ((node->IF2STAT & 0x80U)=0x80U)
{
}/*等待*/
节点->IF2CMD = 0xC0U;
NODe->IF2MSK &= 0xC0000000U;
NODe->IF2MSK |=(uint32)(msgBoxMASK & 0x1FFFFFFFU);
节点->IF2NO =(uint8) MessageBox;
/**-等待数据被复制到 IF2中*/
while ((node->IF2STAT & 0x80U)=0x80U)
{
}/*等待*/
}
代码对我来说看起来很好。 您是否从报文对象的屏蔽寄存器获得了0x7FF?
消息对象中的掩码值是多少?