Linux命令串口收發(fā) 發(fā)送串口命令

Linux,通過串口實現(xiàn)線程對數(shù)據(jù)實現(xiàn)收發(fā),為什么只能寫線程,而讀線程運行不了?

另一個線程完全可以運行,是否運行決定權(quán)在你。 如果另一個線程需要等待串口的數(shù)據(jù),那么它應(yīng)該調(diào)用wait來等待信號量 讀取串口數(shù)據(jù)的線程應(yīng)該在讀取完成后通知等待在信號量上的線程,以繼續(xù)運行。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計,榆陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:榆陽等地區(qū)。榆陽做網(wǎng)站價格咨詢:18980820575

Linux串口相關(guān)的操作及綁定

@ toc

可在控制臺輸入

也可以用stty設(shè)置串口參數(shù)

使用后相當于串口回傳,發(fā)什么回什么

發(fā)送數(shù)據(jù)

可以對串口發(fā)送數(shù)據(jù)比如對com1口

一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認是dev下的ttyS* ,一般ttyS0對應(yīng)com1,ttyS1對應(yīng)com2,當然也不一定是必然的;

如果有ttyS設(shè)備,再看/dev/有沒有ttyS*,如沒有就建立一個:

如果板子的設(shè)備中沒有標準串口設(shè)備ttyS0,也沒有ttySAC0。/dev下應(yīng)該有一個USB串口:/dev/ttyUSB0.

當一個串行卡或數(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)用當前路徑下的getUSB.py這個Python語言,明確此次是哪個,ttyUSB0,或者ttyUSB1掛載在端口3-1.1上

getUSB.py:

完成之后 ,設(shè)置開機啟動cmd.sh(在/etc/rc.local中設(shè)置)則每次開機之后,會從/dev/ttydata獲取到固定端口的數(shù)據(jù)

方式一

寫入內(nèi)容如下:

方式二

我的硬件序列號:ATTRS{serial}=="FTSYWCXZ"這個號是唯一的

可以通過/dev/usb_0打開串口設(shè)備

常用的匹配類型:

如何查看linux下串口是否可用?串口名稱等?

1、查看串口是否可用,可以對串口發(fā)送數(shù)據(jù)比如對com1口,echo lyjie126 /dev/ttyS0

2、查看串口名稱使用 ls -l /dev/ttyS* 一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認是dev下的ttyS* ,一般ttyS0對應(yīng)com1,ttyS1對應(yīng)com2,當然也不一定是必然的;

3、查看串口驅(qū)動:cat /proc/tty/drivers/serial

4、查看串口設(shè)備:dmesg | grep ttyS*

擴展資料

接口劃分標準

同步串行接口(英文:SynchronousSerialInterface,SSI)是一種常用的工業(yè)用通信接口。。

異步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用異步接收/發(fā)送。UART是一個并行輸入成為串行輸出的芯片,通常集成在主板上。UART包含TTL電平的串口和RS232電平的串口。 TTL電平是3.3V的,而RS232是負邏輯電平,它定義+5~+12V為低電平,而-12~-5V為高電平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。

串行接口按電氣標準及協(xié)議來分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422與RS-485標準只對接口的電氣特性做出規(guī)定,不涉及接插件、電纜或協(xié)議。

參考資料:百度百科-串口

linux c 串口 收發(fā)數(shù)據(jù)

1、接受數(shù)據(jù)一般是阻塞,就是沒有接收到數(shù)據(jù)就一直等待,可以設(shè)置為不阻塞,這樣就可以了

2、另一種方法是,創(chuàng)建線程,一收、一發(fā),就可以互不影響

網(wǎng)頁標題:Linux命令串口收發(fā) 發(fā)送串口命令
文章URL:http://muchs.cn/article24/hgigce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、做網(wǎng)站、小程序開發(fā)軟件開發(fā)、商城網(wǎng)站用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)