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.

[参考译文] RTOS:CC2640R2F 的 UART 消耗问题

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/596614/rtos-uart-of-cc2640r2f-consumption-issue

工具/软件:TI-RTOS

我启用 UART Rx_callback 模式。 使用 UART_read()启用 Rx 交叉存取。然后 我调用 UART_readcancel()和 UART_close()。但流耗为3.65mA,这意味 着 UART_readcancel  不起作用?  但奇怪 的是我只启用 UART Rx_callback 模式。并使用 UART_read()启用 Rx 接口。 UART 工作正常。 但功耗仅为0.05mA。  

因此、我启用 UART Rx_Blocking 模式、并关闭 UART_CLOSE (UART_Handle)。 消耗为0.005mA。  

为什么无法在 rx_callback 模式下关闭 UART????

请帮我!!! 请,请,请!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

    UART 本质上是异步的。 因此、为了捕获输入、您必须让它运行时钟。
    它以前是 UART_READ()使 UART 控制器的中断被启用,但它被移到 UART_open()中,这样您就不会在调用 UART_READ()时遇到应用程序和 UART 控制器之间的竞争情况。

    因此,每当您调用 UART_open()时,功耗都会增加。 如果您知道不会接收任何数据,则可以调用 UART_CLOC()以节省功耗。 但是在任何情况下,如果调用 UART_close()后功耗不会降低,这是一个错误。

    是否有源复制此内容?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    simplelink_cc2640r2_sdk_1_35_00_33是版本、这是 TI 网站中的最新版本。 您所说的内容是正确的。 我知道 UART 是如何工作的。 u 知道,在 rx_callbackmode 中,如果您不调用 UART_read(),则您的 interrput 将不会进入。 我不知道 TI 是怎么完成的。
    在输入中,我调用 UART_readcancel()和 UART_close(),但消耗为3.65mA。 但 UART 工作、功耗仅为0.05mA。 如何解释????