跳到主要内容

8. UART使用

本章包含RS232节点和RS485节点的说明

8.1. 硬件

EC-R3576PC的串口接口图如下:

_images/usage_uart_interface.jpg

8.2. DTS配置

文件路径kernel-6.1/arch/arm64/boot/dts/rockchip/rk3576-firefly-roc-rk3576-pc.dtsi

/* uart6 */
&uart6 {
pinctrl-names = "default";
pinctrl-0 = <&uart6m3_xfer>;
status = "okay";
&#125;;

文件路径kernel-6.1/arch/arm64/boot/dts/rockchip/rk3576-firefly-roc-rk3576-pc-ext.dtsi

&spi3 &#123;
status = "okay";
//max-freq = <48000000>;
dev-port = <0>;
pinctrl-0 = <&spi3m1_pins>;
num-cs = <1>;

spi_wk2xxx: spi_wk2xxx@00&#123;
status = "okay";
compatible = "firefly,spi-wk2xxx";
reg = <0x00>;
spi-max-frequency = <10000000>;
//power-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
reset-gpio = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
irq-gpio = <&gpio3 RK_PA4 IRQ_TYPE_EDGE_FALLING>;
cs-gpio = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>;
&#125;;
&#125;;

配置好串口后,硬件接口对应软件上的节点为:

RS485 节点: /dev/ttysWK0(丝印:A1 B1) /dev/ttysWK1(丝印:A2 B2)
RS232 节点: /dev/ttysWK3(丝印:T1 R1) /dev/ttysWK2(丝印:T2 R2) /dev/ttyS6(丝印:T3 R3)

8.3. 232 节点 收发验证

最简单的方式短接RS232 TX RX 引脚, 然后使用命令在调试串口或ADB执行命令

节点/dev/ttyS6测试示例如下(请根据实际短接脚位选择 /dev/ttysWK2, /dev/ttysWK3, /dev/ttyS6)

busybox stty -echo -F /dev/ttyS6 # 关闭回显,
cat /dev/ttyS6 & # 后台获取/dev/ttyS7输入字符串
echo "firefly uart test..." > /dev/ttyS6 # 输入字符串

最终调试串口终端即可接收到字符串 “firefly uart test…”

8.4. 485 节点 收发验证

最简单的方式两个RS485互相短接, A1接A2,B1接B2, 然后使用命令在调试串口或ADB执行命令

busybox stty -echo -F /dev/ttysWK0 # 关闭回显
cat /dev/ttysWK1 & # 后台获取/dev/ttysWK1输入字符串
echo "firefly uart test..." > /dev/ttysWK0 # 输入字符串

最终调试串口终端即可接收到字符串 “firefly uart test…”