ARM linux如何開啟串列埠

2021-10-09 17:57:16 字數 1705 閱讀 5985

查詢串列埠對應核心的串口號

可以使用 ls /dev/tty*檢視所有和串列埠相關的裝置節點檔案

下面是各類tty的區別:

1、ttys

串列埠終端(/dev/ttysn)   

串列埠終端(serial port terminal)是使用計算機串列埠連線的終端裝置。計算機把每個串列埠都看作是乙個字元裝置。有段時間這些串列埠裝置通常被稱為終端裝置,因為 那時它的最大用途就是用來連線終端。這些串列埠所對應的裝置名稱是/dev/tts/0(或/dev/ttys0), /dev/tts/1(或/dev/ttys1)等,裝置號分別是(4,0), (4,1)等,分別對應於dos系統下的com1、com2等。若要向乙個埠傳送資料,可以在命令列上把標準輸出重定向到這些特殊檔名上即可。例如, 在命令列提示符下鍵入:echo test > /dev/ttys1會把單詞」test」傳送到連線在ttys1(com2)埠的裝置上。

2、ttysac

pc上的串列埠一般是ttys,板子上linux的串列埠一般叫做ttysac,如果你發覺串列埠不能用,可以看看你是不是用的除錯串列埠或者你用的串列埠是不是核心啟動時給初始化成其他用途了

3、tty

控制終端(/dev/tty)   如果當前程序有控制終端(controlling terminal)的話,那麼/dev/tty就是當前程序的控制終端的裝置特殊檔案。可以使用命令」ps –ax」來檢視程序與哪個控制終端相連。對於你登入的shell,/dev/tty就是你使用的終端,裝置號是(5,0)。使用命令」tty」可以檢視它 具體對應哪個實際終端裝置。/dev/tty有些類似於到實際所使用終端裝置的乙個聯接。   

4、ttyn

控制台終端(/dev/ttyn, /dev/console)   在linux 系統中,計算機顯示器通常被稱為控制台終端 (console)。它**了型別為linux的一種終端(term=linux),並且有一些裝置特殊檔案與之相關聯:tty0、tty1、tty2 等。當你在控制台上登入時,使用的是tty1。使用alt+[f1—f6]組合鍵時,我們就可以切換到tty2、tty3等上面去。tty1–tty6等 稱為虛擬終端,而tty0則是當前所使用虛擬終端的乙個別名,系統所產生的資訊會傳送到該終端上(這時也叫控制台終端)。因此不管當前正在使用哪個虛擬終端,系統資訊都會傳送到控制台終端上。

/dev/console即控制台,是與作業系統互動的裝置,系統將一些資訊直接輸出到控制台上。目前只有在單使用者模式下,才允許使用者登入控制台。

建立.c檔案,uartopen.c

**如下

#include #include #include #include #include #include void main(void)

else

使用交叉編譯器

arm-none-linux-gnueabi-gcc -o uartopen uartopen.c
編譯這個檔案生成 uartopen可執行檔案,使用u盤,網路,阿巴阿巴阿巴各種方法丟在嵌入式linux中

mount載入,cd進對應目錄

./uartopen
執行檔案,成功後如下所示

[root@wly]# ./uartopen

open /dev/ttysac3 is successed

[root@wly]#

ARMlinux串列埠傳送

首先選擇串列埠 位置方便,不和串列埠終端重合,定義char 為串列埠節點目錄 dev tty ttysac3 char uart3 dev ttysac3 然後定義乙個傳送資料buffer char buffer hello world n 開啟串列埠,呼叫配置函式set opt 自己定義的 if ...

如何開啟VMware串列埠

先前在玩gec2410時,有個想法,就是在linux下進行除錯,由於目標板上電或復位時會傳送資訊給pc機的串列埠,這已在windows下實現過,於是想在linux下看看效果,可是當時我在linux下設好串列埠後,發現一點反應都沒有,當時以為是自己沒有安裝交叉編譯環境,於是昨天晚上把嵌入式 linux...

ARM linux開發之Ubuntu上串列埠終端

為了避免在arm開發中頻繁的切換ubuntu和windows系統,所以就想到,直接能控制開發板就好了。如圖所示,將串列埠連線到虛擬機器 linux ubuntu sudo apt get install minicomlinux ubuntu dmesg grep ttys 0.004000 con...