NXP MCU 技术论坛
直播中

张敏

7年用户 1567经验值
私信 关注
[问答]

是否可以将“GPIO_AD_B0_08”用于UART1的RTS?

我很好奇 SetPinMux Configuration Essentials 的一个问题。
是否可以将“GPIO_AD_B0_08”用于 UART1 的 RTS?我知道参考手册说 IOMUXC_GPIO_AD_B0_09 引脚需要设置引脚,并且可以通过使用“fsl_iomuxc.h”中的“IOMUXC_GPIO_AD_B0_09_LPUART1_RTS_B”定义来实现。在这种情况下,我可以使用如下所示的 RTS功能
//Pin Mux Settings
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_06_LPUART1_TX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_07_LPUART1_RX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_09_LPUART1_RTS_B, 0U);
...
//Set RTS
LPUART1->MODIR |= LPUART_MODIR_TXRTSE_MASK;
LPUART1->MODIR |= LPUART_MODIR_TXRTSPOL_MASK;
但是,如果可能的话,我只想创建 如下所示的手动 RTS  :
//New IOMUX Definition for Possible Usage
#define IOMUXC_GPIO_AD_B0_08_Something_Possible_RTS_UART1 0x00000000 (What Should I Set for Usage?)
...
//Pin Mux Settings
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_06_LPUART1_TX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_07_LPUART1_RX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_08_Something_Possible, 0U);
...
//Set RTS
LPUART1->MODIR |= LPUART_MODIR_TXRTSE_MASK;
LPUART1->MODIR |= LPUART_MODIR_TXRTSPOL_MASK;
我认为 LPUART->MODIR 寄存器和 fsl_iomuxc.h 中的可用 RTS 定义之间存在关联。因此,我想知道上述情况是否可能。(使用另一个引脚作为通用用途,在这种情况下使用 RTS)。如果可能的话,请告诉我“如何为 UART1 RTS 设置 PinMux GPIO_AD_B0_08?”

fsl_iomuxc.h 中的可用定义
#define IOMUXC_GPIO_AD_B0_08_ENET_TX_CLK 0x401F80DCU, 0x0U, 0x401F831CU, 0x1U, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_LPI2C3_SCL 0x401F80DCU, 0x1U, 0x401F838CU, 0x1U, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_LPUART1_CTS_B 0x401F80DCU, 0x2U, 0, 0, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_KPP_COL00 0x401F80DCU, 0x3U, 0, 0, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_ENET_REF_CLK1 0x401F80DCU, 0x4U, 0x401F8304U, 0x1U, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_GPIO1_IO08 0x401F80DCU, 0x5U, 0, 0, 0x401F8250U
#define IOMUXC_GPIO_AD_B0_08_ARM_CM7_TXEV 0x401F80DCU, 0x6U, 0, 0, 0x401F8250U

更多回帖

发帖
×
20
完善资料,
赚取积分