簡(jiǎn)單的運(yùn)行 dmesg 命令
公司專(zhuān)注于為企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、商城網(wǎng)站制作,微信小程序開(kāi)發(fā),軟件定制網(wǎng)站開(kāi)發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
$ dmesg | grep tty
輸出:
[ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A
setserial 命令
setserial 是一個(gè)程序用于設(shè)定并/或報(bào)告某個(gè)串口關(guān)聯(lián)的配置信息。該信息包括串口用到的I/O 端口和中斷號(hào),以及Break鍵是否應(yīng)被解釋為Secure Attention Key 等等。 僅僅是輸出如下的命令:
$ setserial -g /dev/ttyS[0123]
輸出:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
帶-g選項(xiàng)的setserial幫助找到你的Linux板子上的物理串口。
Linux 串口控制臺(tái)程序
一旦串口被確定了,你就能使用許多的工具來(lái)配置Linux板子:
minicom- 用于控制modem和連接到dump 設(shè)備的最好的串口通信程序。
wvidial or other GUI dial up networking program - 一個(gè)內(nèi)建智能PPP 撥號(hào)器。
getty / agetty - agetty 打開(kāi)一個(gè) tty 端口, 提示登錄名稱(chēng)并調(diào)用 /bin/login 命令。
grub / lilo configuration - 配置串口為系統(tǒng)控制臺(tái)。
用CAT命令查看
#cat /proc/tty/driver/serial
如果需要配置串口參數(shù),minicom是個(gè)很好的選擇。
一、安裝
sudo apt-get install minicom
二、配置
配置minicom的參數(shù)
運(yùn)行$ sudo minicom -s
便進(jìn)入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車(chē)。此時(shí)光標(biāo)在“change which setting”后面停留,它的上面有如下菜單:
只需輸入上面對(duì)應(yīng)的字母,就可以進(jìn)如相應(yīng)的菜單進(jìn)行設(shè)置。設(shè)置完成,回車(chē),光標(biāo)會(huì)回到“change which setting”后面,如此重復(fù)。完成按回車(chē)返回主菜單即可。
1、查看串口是否可用,可以對(duì)串口發(fā)送數(shù)據(jù)比如對(duì)com1口,echo lyjie126 /dev/ttyS0
2、查看串口名稱(chēng)使用 ls -l /dev/ttyS* 一般情況下串口的名稱(chēng)全部在dev下面,如果你沒(méi)有外插串口卡的話默認(rèn)是dev下的ttyS* ,一般ttyS0對(duì)應(yīng)com1,ttyS1對(duì)應(yīng)com2,當(dāng)然也不一定是必然的;
3、查看串口驅(qū)動(dòng):cat /proc/tty/drivers/serial
4、查看串口設(shè)備:dmesg | grep ttyS*
擴(kuò)展資料
接口劃分標(biāo)準(zhǔn)
同步串行接口(英文:SynchronousSerialInterface,SSI)是一種常用的工業(yè)用通信接口。。
異步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用異步接收/發(fā)送。UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主板上。UART包含TTL電平的串口和RS232電平的串口。 TTL電平是3.3V的,而RS232是負(fù)邏輯電平,它定義+5~+12V為低電平,而-12~-5V為高電平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。
串行接口按電氣標(biāo)準(zhǔn)及協(xié)議來(lái)分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422與RS-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,不涉及接插件、電纜或協(xié)議。
參考資料:百度百科-串口
@ toc
可在控制臺(tái)輸入
也可以用stty設(shè)置串口參數(shù)
使用后相當(dāng)于串口回傳,發(fā)什么回什么
發(fā)送數(shù)據(jù)
可以對(duì)串口發(fā)送數(shù)據(jù)比如對(duì)com1口
一般情況下串口的名稱(chēng)全部在dev下面,如果你沒(méi)有外插串口卡的話默認(rèn)是dev下的ttyS* ,一般ttyS0對(duì)應(yīng)com1,ttyS1對(duì)應(yīng)com2,當(dāng)然也不一定是必然的;
如果有ttyS設(shè)備,再看/dev/有沒(méi)有ttyS*,如沒(méi)有就建立一個(gè):
如果板子的設(shè)備中沒(méi)有標(biāo)準(zhǔn)串口設(shè)備ttyS0,也沒(méi)有ttySAC0。/dev下應(yīng)該有一個(gè)USB串口:/dev/ttyUSB0.
當(dāng)一個(gè)串行卡或數(shù)據(jù)卡被偵測(cè)到時(shí),它會(huì)被指定成為第一個(gè)可用的串行設(shè)備。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),這完成看原已內(nèi)建的串口數(shù)目。ttyS*設(shè)備會(huì)被報(bào)告在/var/run/stab內(nèi)。
PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC
可能是linux下的串口設(shè)備沒(méi)有打開(kāi),需要改變串口設(shè)備
的權(quán)限,或者根據(jù)文章頭添加用戶到組處理
可以通過(guò)以下命令 查看 板子上的硬件端口的內(nèi)核設(shè)備名
該條命令會(huì)將 ttyUSB0所對(duì)應(yīng)的硬件端口的kernel設(shè)備名 顯現(xiàn)出來(lái), 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0
cmd.sh如下:
./getUSB.py 調(diào)用當(dāng)前路徑下的getUSB.py這個(gè)Python語(yǔ)言,明確此次是哪個(gè),ttyUSB0,或者ttyUSB1掛載在端口3-1.1上
getUSB.py:
完成之后 ,設(shè)置開(kāi)機(jī)啟動(dòng)cmd.sh(在/etc/rc.local中設(shè)置)則每次開(kāi)機(jī)之后,會(huì)從/dev/ttydata獲取到固定端口的數(shù)據(jù)
方式一
寫(xiě)入內(nèi)容如下:
方式二
我的硬件序列號(hào):ATTRS{serial}=="FTSYWCXZ"這個(gè)號(hào)是唯一的
可以通過(guò)/dev/usb_0打開(kāi)串口設(shè)備
常用的匹配類(lèi)型:
和文件一樣,open /dev/ttyS0就是串口1 然后設(shè)置波特率,停止位 奇偶校驗(yàn)?zāi)切?,之后read write就可以了 頭文件是termios.h
安裝完成后,請(qǐng)不要著急打開(kāi)軟件。需先進(jìn)行配置。具體步驟如下:
查看串口設(shè)備及文件權(quán)限
linux下的所有操作面向用戶的都是文件操作,在對(duì)串口操作之前,我們應(yīng)該先確認(rèn)自己對(duì)該文件有沒(méi)有讀寫(xiě)權(quán)限。
linux下的usb串口命名為ttyUSB*,運(yùn)行上面命令,可以看到有幾個(gè)設(shè)備掛載。
我們這里是:
只有ttuUSB0.再用lsusb查看:
usb 004正是我們掛上去的usb轉(zhuǎn)串口線纜,使用的芯片是PL2303。
但是正如上面顯示,ttyUSB0這個(gè)設(shè)備是root所有的,所以,我們以普通用戶身份打開(kāi)minicom是沒(méi)法訪問(wèn)該文件的。
運(yùn)行sudo minicom -s便進(jìn)入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車(chē)。此時(shí)光標(biāo)在“change which setting”后面停留,它的上面有如下菜單:
我們只需輸入上面對(duì)應(yīng)的字母,就可以進(jìn)如相應(yīng)的菜單進(jìn)行設(shè)置。設(shè)置完成,回車(chē),光標(biāo)會(huì)回到“change which setting”后面,如此重復(fù)。完成按回車(chē)返回主菜單即可。
返回主菜單后,選擇“Save setup as df1”,將其保存為默認(rèn)設(shè)置,然后選擇 Exit退出。需退出后重新打開(kāi)minicom,軟件才會(huì)使用上述參數(shù)進(jìn)行初始化。
注意:如果沒(méi)有使用USB轉(zhuǎn)串口,而是直接使用串口,那么Serial Device要配置為/dev/ttyS0。
如果上面設(shè)置順利,打開(kāi)minicom
重新給設(shè)備上電后,此時(shí),窗口里就有信息打印出來(lái)了。
1)需使用Ctrl+a 進(jìn)入設(shè)置狀態(tài)
2)按z進(jìn)入設(shè)置菜單
(1)O鍵:打開(kāi)配置選項(xiàng);
(2)W鍵:自動(dòng)卷屏。當(dāng)顯示的內(nèi)容超過(guò)一行之後,自動(dòng)將後面的內(nèi)容換行。這個(gè)功能在查看內(nèi)核的啟動(dòng)信息時(shí)很有用。
(3)C鍵:清除屏幕的顯示內(nèi)容;
(4)B鍵:瀏覽minicom的歷史顯示;
(5)X鍵:退出minicom,會(huì)提示確認(rèn)退出。
Ctrl + A -- O
選擇"Filenames and paths"
更多的參數(shù),參見(jiàn)"man minicom"的輸出。
如果不加這個(gè)項(xiàng),那么在minicom和pc交互的時(shí)候中鍵入命令超過(guò)一行時(shí)候會(huì)被截?cái)?,(這時(shí)候可以通過(guò) C-a w 來(lái)開(kāi)和關(guān)切換截?cái)嘈泄δ埽?
這樣,啟動(dòng)之后我們會(huì)發(fā)現(xiàn)顯示的內(nèi)容不是黑白的了。
這樣,啟動(dòng)之后,所在minicom的輸出都會(huì)在filename中保留一份,如果原來(lái)文件存在,則追加,不存在則創(chuàng)建一個(gè)。
這樣,我們可以取代用 C-a * 發(fā)送命令的方式,將 C-a 替換成 [Alt] 或者 [ESC] .
這里,filename是你的腳本文件的名字,應(yīng)該指定絕對(duì)路徑,否則就會(huì)在你啟動(dòng)minicom的路徑下尋找。
Minicom是基于窗口的。要彈出所需功能的窗口,可按下 Ctrl-A (以下使用C-A來(lái)表示Ctrl-A),然后再按各功能鍵(a-z或A-Z)。先按C-A,再按'z',將出現(xiàn)一個(gè)幫助窗口,提供了所有命令的簡(jiǎn)述。配置 minicom(-s 選項(xiàng),或者C-A、O)時(shí),可以改變這個(gè)轉(zhuǎn)義鍵,不過(guò)現(xiàn)在我們還是用Ctrl-A吧。
這里,只給出很少的命令,更多的交互命令參見(jiàn)"C-a z"的幫助輸出。
minicom -s 或啟動(dòng)minicom之后運(yùn)行 C-a o 來(lái)進(jìn)行配置。
C:腳本文件的存放位置: C-a g 運(yùn)行腳本時(shí)的路徑 。
D:選擇腳本程序: 默認(rèn) runscript ,也可以選擇 bash 腳本格式。
可以參考man手冊(cè) man runscript .交互命令中可以運(yùn)行" C-a G "來(lái)運(yùn)行腳本。
參考資料 :