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.

F28335 ECAN通信接收屏蔽的问题



最近在学习F28335的ECAN通讯,寄存器手册上MSGID.AME的接收屏蔽使能位与CANLAM的本地接收屏蔽功能上有什么区别?

  • AME 只用于接收邮箱。 它不能被设置为自动回复 (AAM[n]=1,CANMD[n]=0) 邮箱,否则邮箱的运行状态未定义。 该位不能通过消息接收被修改。

    LAMn[28:0]本地接受过滤允许用户在本地屏蔽(无关)进入消息的任何标识符位,这些位启用一个进入消息的任意标识符位的屏蔽。


    要使用接受掩码,首先在MSGID中设置AME位。然后写入LAM寄存器以获取邮箱。您要屏蔽的任何位都应设置为1。
  • 明白了,多谢,现在我遇到一个问题是,数据能够通过DSP发送给上位机软件,但是上位机软件发送远程帧给DSP,DSP却没有自动回复,我的MSGID.AAM = 1,自动应答模式,那DSP收到远程帧后会自动答复数据吗?
  • Auto answer mode bit. This bit is only valid for message mailboxes configured as transmit. For receive mailboxes, this bit has no effect: the mailbox is always configured for normal receive operation.

    AAM只用于发送邮箱。对于接收邮箱,该位没有影响:邮箱总是被配置为标准接收操作
  • 我的远程帧ID就是发送邮箱,我想要上位机发送远程帧给DSP请求数据,DSP自动回复其发送邮箱的数据。但是我把AAM就算设置为1后,DSP依然没有任何响应。