请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28335 大家好、
我对 eCAN 发送消息优先级有疑问。
假设以下情况:
10个邮箱 A 配置为输出箱。 如果它们的 TRS 位同时置位、则消息发送输出序列应基于它们的 TPL 位(如果我们处于 eCAN 模式)。 但是、如果在 for 循环中逐个设置 TRS bis、会发生什么情况?
我自己做了一个测试、看到了以下情况:
到 for 循环结束时、尚未发出非消息。 因此、所有 TRS 位仍然为1。 之后、消息会随机发出。 该序列既不基于 TRS bis 的设置顺序、也不基于 TPL 值。
理想情况下、我认为它应基于 TPL 值。 由于 TRS 位设置得如此之快、因此与同时将它们设置为1相比没有什么区别。 在所有 TRS 位被置位时、邮箱中的消息不应进入缓冲区。 因此、当 CPU 决定哪条消息应该进入缓冲区时、应该使用 TPL 值。
有什么想法吗?
谢谢、
邵