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.

[参考译文] MSPM0L1228:是否可以使用 GPIO API 来读取和写入 UART 的 RX 和 TX 引脚?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1395662/mspm0l1228-is-it-possible-to-use-the-gpio-api-to-read-and-write-the-rx-and-tx-pins-of-the-uart

器件型号:MSPM0L1228

工具与软件:

您好!

我需要检测 RX 引脚何时在100ms 内变为低电平 、或者将 TX 引脚设置为高电平大约50ms。

我是否可以使用 GPIO API (DL_GPIO_readPins、DL_GPIO_setPins) 读取 或写入 UART 的 RX、TX 引脚?

如果不可能、是否有办法 应用上述两项要求?

此致!

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

    GPIO 函数是一个单独的外设函数(PF = 1)、因此通常情况下、如果该引脚连接到其他外设、则无法读取其状态。

    可以通过"DL_GPIO_initPeripheralInputFunction ( 、1);" 其中、"1"表示 GPIO=1 (PF)和 在 ti_msp_dl_config.h 中显示为 _PINMUX。 我在这样做时遇到过干扰(外设可以看到)、但我还没有使用 UART 进行尝试。

    我预计 Rx 上的100ms 低电平会被检测为中断(可能是多次断点)、因此您可以尝试监视 BRKERR。  

    我不确定您要在 Tx 中寻找什么、因为您是控制它的那个。

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

    尊敬的 Sho:

    正如 Bruce 提到的、您需要在使用这些函数调用之前将引脚功能重新分配到 GPIO、但通常、您可以将引脚功能从 UART 切换到 GPIO、然后使用您提到的函数读取或设置引脚。 然后、要正确设置这些功能、您可能还需要使用计时器外设。 一旦 GPIO 功能完成、您可以切换回 UART 引脚功能。

    同意可能会将100ms 检测为中断、因此我建议您尝试为 Rx 条件检测启用中断错误中断、然后对于 Tx、您需要切换引脚功能。

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

    你好 

    感谢您的回复。 我将考虑在切换引脚之前使用 BRKERR。

    此致!