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.

[参考译文] CCS/MSP-EXP432E401Y:任务是否等待 UART?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/668566/ccs-msp-exp432e401y-does-a-task-waits-for-uart

器件型号:MSP-EXP432E401Y

工具/软件:Code Composer Studio

我想使用 TI-RTOS、并查看了一些示例代码。

我在任务中看到了这个 UART_WRITE 命令:

UART_WRITE (UART_RS485、TxBuffer[mailbox_msg.buf_index].ProtocolConverterBuf、mailbox_msg.length);

问题:

此任务是否在这里停止并等待、直到接收到所有字节?

在 UART 传输过程中、是否可以继续运行其他任务?

我是否必须使用 DMA?

请记住、M-Bus / RS485通信可能非常慢、低至300bps。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果这是一个阻止命令、那将是一个非常糟糕的 RTOS。 除非您的消息大于缓冲区、否则它应在后台运行。 然后、它将被阻止、直到待发送的字节小于缓冲区大小。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    DMA 呢? 此命令是否自动使用 DMA?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    UART 可配置为阻塞模式或非阻塞模式(通过回调)、请参阅

    dev.ti.com/.../_u_a_r_t_8h.html

    此外、UART 驱动程序不使用 DMA 外设。 在 SRAM 中设置了一个环形缓冲器。

    此致、
    Chris

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

    谢谢!