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.

[参考译文] TMS320F2.8075万:更改邮箱配置

Guru**** 2540810 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/620942/tms320f28075-changing-mailbox-configuration

部件号:TMS320F2.8075万

您好,

 在《技术参考手册》(Sprmh 9 C - 2016年12月修订)的“21.12 5 Changing a Transmi Object”(更改Transmi对象)一节中,有以下陈述:

" CPU可以写入整个消息
(仲裁,
控制和数据)。 命令寄存器的位[23:16]可以设置为0xB7
用于将整个消息对象内容传输到消息对象。 MsgVal和TxRqst都没有
必须在执行此操作之前重置。'

关键句子为“MsgVal和TxRqst都不必在此操作之前重置。”

这意味着可以更改仲裁,控制和数据寄存器的整个内容,而无需重置MsgVal.

但在"表21-31. CAN_IF1ARB寄存器字段描述",原始位31 MsgVal,列描述以下陈述:

"还必须在标识符之前重置此位
ID[28:0],控制位XTD,Dir或DLC [3:0]已修改,或者如果修改
不再需要消息对象。"

这意味着只有在重置MsgVal.


因此问题是:仲裁和控制寄存器是否可以使用MsgVal =1进行更改?

此致,

Demis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Demis,

    只有在重置MsgVal时,才能更改仲裁和控制寄存器。 但对于用于传输帧的消息对象,可能无法清除MsgVal。

    将在一段时间内返回给您,并提供更多详细信息,同时将消除TRM中的模糊性。

    谢谢,此致,

    Harshmeet Singh  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Harshmeet。
    我认为,某些控制寄存器位也可以使用MsgVal =1为接收帧的消息对象进行更改。 例如,可以重置MsgLst而不重置MsgVal.

    我会详细介绍。

    谢谢,此致,

    Demis
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Demis,

    对于延迟回复,我们深表歉意。 我尝试用MsgVal=1和MsgVal=0更改仲裁和控制寄存器的值,并且我能够修改它们。 因此,根据此项,不需要MsgVal重置。

    谢谢,此致,
    Harshmeet
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,
    谢谢你。
    我做过类似的测试,也发现了相同的结果。

    此致,

    Demis