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.

[参考译文] TMS320F28386S:F28386 CM UART 9 位模式:如何知道在使用多个地址时哪个地址触发了 UART_INT_9BIT?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1648312/tms320f28386s-f28386-cm-uart-9-bit-mode-how-to-know-which-address-triggered-uart_int_9bit-when-using-multiple-addresses

部件号: TMS320F28386S

您好、

我正在 9 位地址模式下使用 F28386 CM UART。
如果我配置一个固定地址、一切都正常、因为我已经知道是哪个地址导致了 UART_INT_9BIT 中断。

#define Board_ADDR 0x45
#define UART_MASK  0xFF  //完全匹配

在这种情况下、当发生 UART_INT_9BIT 时、我可以假设匹配的地址为 0x79。

但是、我现在需要接受多个可能的地址。 例如:
0x40 - 0x49  

#define Board_ADDR 0x40

#define UART_MASK  0xF0  

软件如何确定哪个接收地址实际触发了 UART_INT_9BIT?

我尝试在 UART_INT_9BIT 中断内立即读取 UART。
但这不会返回地址字节。 它返回帧中的下一个字节。

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

    您好 Clint:

    让我看看这个问题并返回给您。

    此致、

    Delaney

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

    是否有任何更新? 谢谢

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

    您好 Clint:

    对不起,我在假期外出。 请允许我再花 1-2 天时间来调查你的问题。

    此致、

    Delaney

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

    您好 Clint:

    再次为延误道歉。  遗憾的是、UART 9 位模式似乎不支持该功能。 这是对设计的疏忽。

    我建议使用一种“命令“字节作为第一个数据字节、该字节是地址副本(基本上是发送两次地址字节)、以便在软件中读取。  

    此致、

    Delaney