F28377D CAN 接收到一帧后 , 怎么读取 接收邮箱的msgID
Susan Yang:您可以通过都 CAN_IFxARB 寄存器来获取,如CAN_IF1ARB
其中ID位的说明如下
Message Identifier
ID[28:0] 29-bit Identifier ("Extended Frame")
ID[28:18] 11-bit Identifier ("Standard Frame")
Note: This bit is write protected by Busy bit.
Reset type: SYSRSn
F28377D CAN 接收到一帧后 , 怎么读取 接收邮箱的msgID
Charles Ji:
回复 Susan Yang:
您好,我试过用 return(HWREG(CANB_BASE + CAN_O_IF1ARB) & CAN_IF1ARB_ID_M)但结果比不是msgid号
F28377D CAN 接收到一帧后 , 怎么读取 接收邮箱的msgID
Susan Yang:
回复 Charles Ji:
您现在使用接收过滤了吗?参考 e2e.ti.com/…/658527 的回复
In IFXARB register, there is a 29 bit "ID", it is a identifier for receiver frame, mask have no effect for it, right?
Answer–> That field holds the Message ID (MSGID). The definition of that field depends on whether the mailbox is a transmit mailbox or a receive mailbox.
If the mailbox is a transmit mailbox, it holds the MSGID of the frame to be transmitted.
If the mailbox is a receive mailbox, it holds the MSGID of the frame to be received, after satisfying the filtering criterion (if any).
F28377D CAN 接收到一帧后 , 怎么读取 接收邮箱的msgID
Charles Ji:
回复 Susan Yang:
您好,没有用滤波,配置的跟例程C:\ti\c2000\C2000Ware_1_00_06_00\driverlib\f2837xd\examples\cpu1\can一样,只是我用的是cpu2和canb,例程里可以看到CANA_IF1ARB寄存器的id位,但我的程序跑起来,就ID 位全是0,这是什么原因
F28377D CAN 接收到一帧后 , 怎么读取 接收邮箱的msgID
Charles Ji:
回复 Susan Yang:
请问一下,IF1ARB 和 IF2ARB 有什么区别,是接收object 看 IF1 还是发送object 看IF1