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.

[参考译文] TI RTOS Sitara AM437X

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/922688/ti-rtos-sitara-am437x

大家好,我正在尝试使用 UART_CONTROL 和命令 UART_CMD_GETRXCOUNT 来检查是否有数据可以从 UART 读取。

当 UART_CONTROL 返回0时,我看到的可用 Rx 字节始终为零。 我可以执行 UART_READ,但如果不需要,我不想输入 UART READ

我还注意到 、UART_CMD_GETRXCOUNT 未在 UART.h 文件中定义。

是否受支持? 我可以通过任何其他方式查询 UART Rx 缓冲区中可用的字节?

UART_Params 参数;
UART_PARAMS_INIT (params);
params.readTimeout = 10;
params.readMode = UART_MODE_BLOCKING;
params.writeMode = UART_MODE_BLOCKING;
params.readEcho = UART_ECHO_ON;

params.readDataMode = UART_DATA_TEXT;
params.writeDataMode = UART_DATA_TEXT;

Params.readReturnMode = UART_return_NEWLINE;

params.baudrate = 115200;

//params.readCallback2 =&UartReadCallBack2;

//params.writeTimeout = 10;
UartHandle = UART_open (0、&params);

while (1)

{

S16_UART_CONTRAL_RET_val = UART_CONTROL (UartHandle、2、& S16_Bytes_in_buffer);//=UART_CMD_GETRXCOUNT

}

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

    您好!

    如果您查看 UART_v1.h、您应该会找到一个标题为"UART_V1_Object_s"的结构

    我认为该结构中的 ReadCount 变量应该是读取的字符数、而 readSize 应该是缓冲区中剩余的字符数。

    谢谢、

    最大

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

    感谢 max 的输入

    如何访问 ReadCount 变量? 在结构定义的正上方、我看到注释

    /*!
    *@简要 UART_V1对象
    *
    *应用程序不得访问此结构的任何成员变量!
    *

    您能向我介绍相关的 API 文档吗? 还是一个示例?

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

    您好!

    请参阅 /packages/ti/drv/uart/docs/doxygen/html/struct_u_a_r_t___transaction__s.html

    uint32_t count 变量可能是您要查找的变量。

    谢谢、

    最大