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.

[参考译文] MSPM0C1104:如何将 UART TX 引脚更改为输出 GPIO、然后切换回 UART TX

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1528201/mspm0c1104-how-to-change-a-uart-tx-pin-to-be-an-output-gpio-then-switch-back-to-uart-tx

器件型号:MSPM0C1104

工具/软件:

您好、专家:

  鉴于标题中所述、在某些情况下、我们需要将 TX 引脚 (PA23) 更改为输出 GPIO 一段时间、请将 GPIO 下拉 1ms、然后切换回 UART TX、以下是代码、似乎运行良好、但我仍然希望您确认是否缺少任何内容、谢谢。

Bill

#define GPIO_UART_0_IOMUX_TX                                     (IOMUX_PINCM24)
#define GPIO_GRP_0_PORT                                                  (GPIOA)
#define GPIO_UART_0_TX_PIN                                        DL_GPIO_PIN_23
#define GPIO_UART_0_IOMUX_TX_FUNC                      IOMUX_PINCM24_PF_UART0_TX


DL_GPIO_initPeripheralOutputFunction(
              GPIO_UART_0_IOMUX_TX, IOMUX_PINCM24_PF_GPIOA_DIO23);
DL_GPIO_initDigitalOutput(GPIO_UART_0_IOMUX_TX);
DL_GPIO_clearPins(GPIO_GRP_0_PORT, GPIO_UART_0_TX_PIN);
DL_GPIO_enableOutput(GPIO_GRP_0_PORT, GPIO_UART_0_TX_PIN);

delay_cycles(24000);
DL_GPIO_setPins(GPIO_GRP_0_PORT, GPIO_UART_0_TX_PIN);

DL_GPIO_initPeripheralOutputFunction(
GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC);

代码中的宏来自 ti_msp_dl_config.h

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

    PS:在从 standby0 唤醒时调用上述代码

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

    尊敬的 Bill:

    如果您只想使用 GPIO 下拉线路、将有更方便的方法来实现这一点、请参阅以下代码:

     DL_UART_enableLINSendBreak(UART_0_INST);
    delay_cycles(16000);
    DL_UART_disableLINSendBreak(UART_0_INST);

    如果您仍想将 TX 更改为 GPIO 功能、则 代码看起来很好。

    此致、

    Zoey

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

    谢谢 Zoey、它在您的方式上运行良好。