AIO-3399C 支持SPI橋接/擴展4個增強功能串口(UART)的功能,分別為UART1,UART2,RS232,RS485。每個UART都擁有256字節(jié)的FIFO緩沖區(qū),用于數(shù)據(jù)接收和發(fā)送。 其中:
-
UART1 UART2最高支持波特率691200。RS232 RS485受通訊媒介影響一般只支持115200以下。
-
具備子串口接收FIFO超時中斷
-
支持起始位錯誤檢測
AIO-3399C開發(fā)板的串口接口圖如下:
文件kernel/arch/arm64/boot/dts/rockchip/rk3399-firefly-port.dtsi 有spi轉(zhuǎn)uart相關節(jié)點的定義:
&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-aioc.dts文件中使能該節(jié)點即可使用。另外,由于我們板子使用的spi轉(zhuǎn)uart串口模塊掛到spi1上,所以還要使能spi1節(jié)點。如下:
&spi1 { status = "okay"; }; &spi_wk2xxx { status = "okay"; };
注意:由于spi1_rxd和spi1_txd兩個腳可復用為uart4_rx和uart4_tx,所以要留意關閉掉uart4的使用,如下:
&uart4 { status = "disabled"; };
配置好串口后,硬件接口對應軟件上的節(jié)點分別為:
RS485:/dev/ttysWK0 RS232:/dev/ttysWK1 UART2:/dev/ttysWK2 UART1:/dev/ttysWK3
用戶可以根據(jù)不同的接口使用不同的主機的 USB 轉(zhuǎn)串口適配器向開發(fā)板的串口收發(fā)數(shù)據(jù),例如RS485的調(diào)試步驟如下:
(1) 連接硬件
將開發(fā)板RS485 的A、B、GND 引腳分別和主機串口適配器(USB轉(zhuǎn)485轉(zhuǎn)串口模塊)的 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 轉(zhuǎn)串口適配器的設備文件
(3) 發(fā)送數(shù)據(jù)
RS485 的設備文件為 /dev/ttysWK0。在設備上運行下列命令:
echo firefly RS485 test... > /dev/ttysWK0
主機中的串口終端即可接收到字符串“firefly RS485 test…”
(4) 接收數(shù)據(jù)
首先在設備上運行下列命令:
cat /dev/ttysWK0
然后在主機的串口終端輸入字符串 “Firefly RS485 test…”,設備端即可見到相同的字符串。
-
嵌入式主板
+關注
關注
7文章
6086瀏覽量
35614 -
Firefly
+關注
關注
2文章
538瀏覽量
7129
發(fā)布評論請先 登錄
相關推薦
fireflyAIO-3399C主板接口介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>接口<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220RyAQHleAAcQtf7UK64540.jpg)
fireflyAIO-3399C主板散熱介紹
fireflyAIO-3399C主板紅外遙控器簡介
fireflyAIO-3399C主板屏幕模組介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>屏幕模組<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220TuAJn-5AAESR01CrzM334.jpg)
fireflyAIO-3399C主板TIMER介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>TIMER<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/4A/o4YBAF220SeAXbJ3AAB5p_1mOHE786.png)
fireflyAIO-3399C主板RTC介紹
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>RTC<b class='flag-5'>介紹</b>](https://file.elecfans.com/web1/M00/AB/A2/pIYBAF220VGAaR3JAAEbiV8oThY263.jpg)
fireflyAIO-3399C主板IR簡介
![<b class='flag-5'>fireflyAIO-3399C</b><b class='flag-5'>主板</b>IR簡介](https://file.elecfans.com/web1/M00/AB/4A/o4YBAF220TSALyQNAADawVe-83s184.png)
評論