UART 使用
簡介
AIO-3399J 支持SPI橋接/擴展4個增強功能串口(UART)的功能,分別為UART1,UART2,RS232,RS485。每個UART都擁有256字節的FIFO緩沖區,用于數據接收和發送。 其中:
UART1,UART2為TTL電平接口,RS232為RS232電平接口,RS485為RS485電平接口
每個子通道UART的波特率、字長、校驗格式可以獨立設置,最高可以提供2Mbps的通信速率
每個子通道具備收/發獨立的256 BYTE FIFO,FIFO的中斷可按用戶需求進行編程觸發點
具備子串口接收FIFO超時中斷
支持起始位錯誤檢測
AIO-3399J開發板的串口接口圖如下:
DTS配置
文件kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-port.dtsi 有spi轉uart相關節點的定義:
&spi1 { spi_wk2xxx: spi_wk2xxx@00{ status = "disabled"; compatible = "firefly,spi-wk2xxx"; reg = <0x00>; spi-max-frequency = <10000000>; power-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>; reset-gpio = <&gpio1 17 3 GPIO_ACTIVE_HIGH>; irq-gpio = <&gpio1 2 IRQ_TYPE_EDGE_FALLING>; cs-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* rk3399 driver support SPI_CPOL | SPI_CPHA | SPI_CS_HIGH */ //spi-cpha; /* SPI mode: CPHA=1 */ //spi-cpol; /* SPI mode: CPOL=1 */ //spi-cs-high; }; }
可以看到,在kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-aio.dts文件中使能該節點即可使用。另外,由于我們板子使用的spi轉uart串口模塊掛到spi1上,所以還要使能spi1節點。如下:
&spi1 { status = "okay"; }; &spi_wk2xxx { status = "okay"; };
注意:由于spi1_rxd和spi1_txd兩個腳可復用為uart4_rx和uart4_tx,所以要留意關閉掉uart4的使用,如下:
&uart4 { status = "disabled"; };
調試方法
配置好串口后,硬件接口對應軟件上的節點分別為:
RS485:/dev/ttysWK0 RS232:/dev/ttysWK1 UART2:/dev/ttysWK2 UART1:/dev/ttysWK3
用戶可以根據不同的接口使用不同的主機的 USB 轉串口適配器向開發板的串口收發數據,例如RS485的調試步驟如下:
(1) 連接硬件
將開發板RS485 的A、B、GND 引腳分別和主機串口適配器(USB轉485轉串口模塊)的 A、B、GND 引腳相連。
(2) 打開主機的串口終端
在終端打開kermit,并設置波特率:
$ sudo kermit C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 9600 C-Kermit> set flow-control none C-Kermit> connect
/dev/ttyUSB0 為 USB 轉串口適配器的設備文件
(3) 發送數據
RS485 的設備文件為 /dev/ttysWK0。在設備上運行下列命令:
echo firefly RS485 test... > /dev/ttysWK0
主機中的串口終端即可接收到字符串“firefly RS485 test…”
(4) 接收數據
首先在設備上運行下列命令:
cat /dev/ttysWK0
然后在主機的串口終端輸入字符串 “Firefly RS485 test…”,設備端即可見到相同的字符串。
-
嵌入式主板
+關注
關注
7文章
6096瀏覽量
36139 -
Firefly
+關注
關注
2文章
541瀏覽量
7398
發布評論請先 登錄
fireflyAIO-3399J主板紅外遙控器簡介
fireflyAIO-3399J主板TIMER使用簡介

fireflyAIO-3399J主板RTC使用簡介

fireflyAIO-3399J主板PWM使用介紹
fireflyAIO-3399J主板MIPI CSI使用簡介

評論