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.

[参考译文] CC3235S:UARTCC32XX.h FIFO 清空(TIDA-010022参考)

Guru**** 2560390 points
Other Parts Discussed in Thread: IWR6843, TIDA-010022, CC3235S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/912501/cc3235s-uartcc32xx-h-fifo-flush-tida-010022-reference

器件型号:CC3235S
主题中讨论的其他器件:IWR6843TIDA-010022

请参阅 TIDA-010022、它使用 CC1352R1。 当从 IWR6843读取雷达数据时、它会执行一些 UART_CONTROL 来刷写 FIFO  

UART_CONTROL (mmwaveLoggerUartHandle、UARTCC26XX_CMD_RX_FIFO_FLUSH、0);

UARTCC26XX_CMD_RX_FIFO_FLUSH 在 UARTCC26XX.h 中声明 但在 UARTCC32XX.h 中、我看不到相应的 FIFO 清空变量。 因此、我决定在 UARTCC32XX.h 中声明如下:

#define UARTCC32XX_CMD_RX_FIFO_FLUSH       (UART_CMD_RESERVED + 3)

据我所知 、CC1352R1的参考代码从 IWR6843获取数据、因此我们必须刷新 FIFO 才能在每个循环中接收新数据。

我不知道 UART_CMD_RESERVED 的含义、因此我不确定是否如 上所述定义 UARTCC32XX_CMD_RX_FIFO_FLUSH?

2.如果上述方法不正确、我想在每个 UART_read 之后使用 memset 的另一种方法

例如

UART_READ (mmwaveLoggerUartHandle、pBuf、tlv_length);

memset (pBuf、0、 sizeof (pBuf)); 

正确吗?

请确认以上两种方法是否适用于 CC3235S UART RX FIFO 刷新。

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

    Hector、您好!

    如果您使用的是 TI 驱动程序、则在接收数据后无需清空 FIFO。

    BR、

    Vince

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

    尊敬的 Vincent:

    因此我可以删除 UART_CONTRAIN()命令,并且只能使用 UART_READ()? 为什么 TIDA-010022设计中的 CC1352即使也使用 TI 驱动程序也必须执行 UART_CONTINENT()以进行 FIFO 刷新?

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

    Hector、您好!

    我不确定。 此设计是使用 CC1352完成的、因此器件可能对 UART 有一些要求、而 CC32xx 则不具有这些要求。

    BR、

    Vince