您好!
我们希望在 RS232模式下使用 UART1的'UART1_RTSn’引脚作为 RTS,在 RS485模式下使用方向控制引脚。
为此、我们按如下方式设置 DTB。
uart1_pins:pinmux_uart1_pins{
pinctrl-single、pins =<
0x178 (PIN_INPUT | MUX_MODE0) /* uart1_CTSN.uart1_CTSN *
0x17C (PIN_OUTPUT 下拉| MUX_MODE0) /* uart1_rtsn.uart1_rtsn *
0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_Rxd.uart1_RxD *
0x184 (PIN_OUTPUT 下拉| MUX_MODE0) /* uart1_TXD.uart1_TXD *
0xFC (PIN_INPUT | MUX_MODE4) /* mmc0_data0.uart1_ri *
0xf8 (PIN_OUTPUT 下拉| MUX_Mode4) /* mmc0_data0.uart1_dtr *
0xf4 (PIN_INPUT | MUX_MODE4) /* mmc0_data0.uart1_DSR *
0xF0 (PIN_INPUT | MUX_MODE4) /* mmc0_data0.uart1_DCD *
>;
};
uart1{(&U)
pinctrl-names ="default";
pinctrl-0 =<uart1_PINs>;
状态="正常";
RTS-GPIO =<&GPIO0 13 GPIO_ACTIVE_HIGH_>;
RS485-RTS-高电平有效;
RS485-RTS-DELAY =<2 1>;
Linux、在引导时启用 RS485;
};
当我们按此方式进行设置时,在 RS485模式下,方向控制(GPIO0 13) 切换将不会按预期进行。
‘M,如果 uart1_rtsn.uart1_rtsn 配置为“ode7”( 0x17C (PIN_OUTPUT 下拉| MUX_MODE7) /* uart1_rtsn.uart1_rtsn *),RS485将按预期工作。 但是、此时 RS232 RTS 将不起作用。
是否有任何方法可以在不更改 DTB 的情况下从用户空间应用切换 RS232和 RS485模式?