快速瀏覽

如何在排針上啟用 UART


 
  • 如果你有下面寫的內核版本,你必須使用設備樹覆蓋來啟用 GPIO 功能。

您可以在板載排針上使用通用 UART 接口。

在閱讀本指南之前,請參閱引腳擴展說明以了解 UART 引腳如何暴露在板上。

如您所見,板載引腳接頭上有幾組 UART 引腳。這些位置彼此不同,但共同點是,引腳 #8 和 #10 將始終用於第一個暴露的 UART 引腳集。此外,每塊板都有其他可用的 UART 引腳。

在本指南中,您將了解如何啟用板上的 UART 引腳。


概述
  • 如果啟用引腳的 UART 功能,則不能將它們用作 GPIO 或其他替代功能。

基本上,UART 功能所需的節點已在設備源代碼樹中定義。如果通過編輯設備樹來啟用節點,則可以使用該功能而無需任何其他麻煩。

這看起來很容易,但真正的工作卻並非如此。但多虧了設備樹覆蓋,您只需編輯/media/boot/config.ini文件即可啟用它們。

啟用第一個 UART 引腳

使用您喜歡的文本編輯器 打開/media/boot/config.ini文件。

然後編輯文件的 DTBO 部分,如下所示。請參閱具有“uart0”值的覆蓋變量。

  • 如果不設置,則所有引腳都將作為通用 I/O 模式工
; Device Tree Overlay
overlay_resize=16384
overlay_profile=
overlays="uart0"
 
[overlay_custom]
overlays="i2c0 i2c1"
 
[overlay_hktft32]
overlays="hktft32"
 
[overlay_hktft35]
overlays="hktft35

重新啟動以應用新的 DTBO 設置。重啟後,您可以在設備列表中找到額外的/dev/ttyS1設備文件。

$ ls -al /dev/ttyS?
crw--w---- 1 root tty     238, 0 May 28 18:36 /dev/ttyS0
crw-rw---- 1 root dialout 238, 1 Jan 29  2018 /dev/ttyS1
啟用所有可用的 UART 引腳

每塊板都有不同數量的 UART 引腳組。如果啟用了所有可用的 UART 引腳,則config.ini 中的 DTBO 設置如下所示。

串口DTBO針接頭物理引腳# (RX)Phy 引腳 # (TX)GPIO 引腳 # (RX)GPIO 引腳 # (TX)設備文件
UART_EE_Auart0.dtboJ2(2*20針)108489 (GPIOX.13)488 (GPIOX.12)/dev/ttyS1
UART_EE_Buart1.dtboJ2(2*20針)1533483 (GPIOX.7)482 (GPIOX.6)/dev/ttyS2
UART_EE_Cuart2.dtboJ2(2*20針)263223 (GPIOH.6)24 (GPIOH.7)/dev/ttyS3
串口_AO_Buart3.dtboJ7(1*7針)46505 (GPIOAO.9)504 (GPIOAO.8)/dev/ttyS4
; Device Tree Overlay
overlay_resize=16384
overlay_profile=
overlays="uart0 uart1 uart2 uart3"
$ ls -al /dev/ttyS?
crw--w---- 1 root tty     239, 0 Apr 26 05:45 /dev/ttyS0
crw-rw---- 1 root dialout 239, 1 Mar 17 21:36 /dev/ttyS1
crw-rw---- 1 root dialout 239, 2 Mar 17 21:36 /dev/ttyS2
crw-rw---- 1 root dialout 239, 3 Mar 17 21:36 /dev/ttyS3
crw-rw---- 1 root dialout 239, 4 Mar 17 21:36 /dev/ttyS4
  • Odroid-C4 的/dev/ttyS0是默認調試 UART 接口。

  • 本指南適用於Odroid-N2 和 C4,但您也可以在另一塊板上使用/dev/ttyS1Odroid-XU4 中的/dev/ ttySAC0),因為第一個 UART 引腳位於相同的引腳編號。
連接電線

我們調試 UART 的板載 4 針 CON5 接頭的引腳圖(顯示為 /dev/ttyS0)是,

您可以將針頭上的 UART 針腳連接到您的主機 PC。

請參閱引腳圖。

UART_EE_A (/dev/ttyS1)
J2 接頭引腳 #UART 模塊引腳 #角色
94地線
103接收端
82發送端
381電壓互感器
UART_EE_B (/dev/ttyS2)
J2 接頭引腳 #UART 模塊引腳 #角色
94地線
153接收端
35( N2 )/33( C4 )2發送端
381電壓互感器

如下圖連接線纜,顯示使用UART_EE_A 時

RxD 和 TxD 引腳必須絞在一起。

將 UART 模塊的另一側連接到您的主機 PC。

試駕
  • 假設你的主機是 Debian/Ubuntu 系統。

輸入以下命令來設置/dev/ttyS1

$ sudo stty -F /dev/ttyS1 115200

在您的主機 PC 上,安裝minicom以進行串行通信。

$ sudo apt install minicom

檢查安裝為/dev/ttyUSB*的 UART 模塊。

$ ls /dev/ttyUSB?
/dev/ttyUSB0

然後使用以下選項打開minicom

$ minicom -b 115200 -D /dev/ttyUSB0

在你的目標板上,把一些東西放到/dev/ttyS1設備中。

$ echo "something" | sudo tee /dev/ttyS1

然後您可以在主機 PC的minicom屏幕上看到該消息。

快速瀏覽

ODROID-C4

四核ARM CORTEX-A55 |4GB RAM |4 USB3 PORTS