和文件一樣,open /dev/ttyS0就是串口1 然后設(shè)置波特率,停止位 奇偶校驗?zāi)切?,之后read write就可以了 頭文件是termios.h
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),紫陽企業(yè)網(wǎng)站建設(shè),紫陽品牌網(wǎng)站建設(shè),網(wǎng)站定制,紫陽網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,紫陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
linux 提供了各種工具, Linux 使用 ttySx 作為一個串口設(shè)備的名稱。例如,COM1 (DOS/Windows 名字) 是 ttyS0, COM2 是 ttyS1 等等。
任務(wù): 顯示檢測到的系統(tǒng)串口支持
簡單的運行 dmesg 命令
$ 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 是一個程序用于設(shè)定并/或報告某個串口關(guān)聯(lián)的配置信息。該信息包括串口用到的I/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選項的setserial幫助找到你的Linux板子上的物理串口。
Linux 串口控制臺程序
一旦串口被確定了,你就能使用許多的工具來配置Linux板子:
minicom- 用于控制modem和連接到dump 設(shè)備的最好的串口通信程序。
wvidial or other GUI dial up networking program - 一個內(nèi)建智能PPP 撥號器。
getty / agetty - agetty 打開一個 tty 端口, 提示登錄名稱并調(diào)用 /bin/login 命令。
grub / lilo configuration - 配置串口為系統(tǒng)控制臺。
@ toc
可在控制臺輸入
也可以用stty設(shè)置串口參數(shù)
使用后相當(dāng)于串口回傳,發(fā)什么回什么
發(fā)送數(shù)據(jù)
可以對串口發(fā)送數(shù)據(jù)比如對com1口
一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認(rèn)是dev下的ttyS* ,一般ttyS0對應(yīng)com1,ttyS1對應(yīng)com2,當(dāng)然也不一定是必然的;
如果有ttyS設(shè)備,再看/dev/有沒有ttyS*,如沒有就建立一個:
如果板子的設(shè)備中沒有標(biāo)準(zhǔn)串口設(shè)備ttyS0,也沒有ttySAC0。/dev下應(yīng)該有一個USB串口:/dev/ttyUSB0.
當(dāng)一個串行卡或數(shù)據(jù)卡被偵測到時,它會被指定成為第一個可用的串行設(shè)備。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),這完成看原已內(nèi)建的串口數(shù)目。ttyS*設(shè)備會被報告在/var/run/stab內(nèi)。
PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC
可能是linux下的串口設(shè)備沒有打開,需要改變串口設(shè)備
的權(quán)限,或者根據(jù)文章頭添加用戶到組處理
可以通過以下命令 查看 板子上的硬件端口的內(nèi)核設(shè)備名
該條命令會將 ttyUSB0所對應(yīng)的硬件端口的kernel設(shè)備名 顯現(xiàn)出來, 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0
cmd.sh如下:
./getUSB.py 調(diào)用當(dāng)前路徑下的getUSB.py這個Python語言,明確此次是哪個,ttyUSB0,或者ttyUSB1掛載在端口3-1.1上
getUSB.py:
完成之后 ,設(shè)置開機(jī)啟動cmd.sh(在/etc/rc.local中設(shè)置)則每次開機(jī)之后,會從/dev/ttydata獲取到固定端口的數(shù)據(jù)
方式一
寫入內(nèi)容如下:
方式二
我的硬件序列號:ATTRS{serial}=="FTSYWCXZ"這個號是唯一的
可以通過/dev/usb_0打開串口設(shè)備
常用的匹配類型:
用CAT命令查看
#cat /proc/tty/driver/serial
如果需要配置串口參數(shù),minicom是個很好的選擇。
一、安裝
sudo apt-get install minicom
二、配置
配置minicom的參數(shù)
運行$ sudo minicom -s
便進(jìn)入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車。此時光標(biāo)在“change which setting”后面停留,它的上面有如下菜單:
只需輸入上面對應(yīng)的字母,就可以進(jìn)如相應(yīng)的菜單進(jìn)行設(shè)置。設(shè)置完成,回車,光標(biāo)會回到“change which setting”后面,如此重復(fù)。完成按回車返回主菜單即可。