linux發(fā)送串口命令 linux 串口傳輸文件

Linux下對(duì)串口操作的方法?

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

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)洞口免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

再利用接口 tcsetattr() 函數(shù)將配置信息寫入文件描述符 fd :這樣整個(gè)串口最常用的用法就配置完成了。具體的配置使用可以參考我的項(xiàng)目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。

找到串口的設(shè)備號(hào) 在linux系統(tǒng)下,所有的設(shè)備都是文件,所以要先找到串口這個(gè)設(shè)備文件,之后就可以對(duì)這個(gè)串口進(jìn)行操作。

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

如何獲取該結(jié)構(gòu)呢?我們操作串口跟操作文件一樣,也是調(diào)用 open() 函數(shù)來打開串口,這樣我們就能夠得到一個(gè)文件描述符 fd ,然后就可以調(diào)用 tcgetattr() 函數(shù)來獲取上述配置結(jié)構(gòu)體了。

getty / agetty - agetty 打開一個(gè) tty 端口, 提示登錄名稱并調(diào)用 /bin/login 命令。grub / lilo configuration - 配置串口為系統(tǒng)控制臺(tái)。

在Linux中,打開串口設(shè)備和打開普通文件一樣,使用的是open()系統(tǒng)調(diào)用。比如我么打開串口設(shè)備1也就是COM1,只需要:fd = open(/dev/ttyS0, O_RDWR | O_NOCTTY | O_NDELAY );打開的串口設(shè)備有很多設(shè)置選項(xiàng)。

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

setserial 命令 setserial 是一個(gè)程序用于設(shè)定并/或報(bào)告某個(gè)串口關(guān)聯(lián)的配置信息。該信息包括串口用到的I/O 端口和中斷號(hào),以及Break鍵是否應(yīng)被解釋為Secure Attention Key 等等。

因此我們斷定本機(jī)只有一個(gè)串口,是串口0,即ttyS0 也可以用dmesg | grep ttyS*,但這個(gè)不是很好用,當(dāng)然你可以自己使用正則法則取找到。注意:還應(yīng)查看是否有USB轉(zhuǎn)串口,這個(gè)就很簡(jiǎn)單了:ls ttyUSB*,全部搞定。

下面是一個(gè)例子,例子中采用的是USB轉(zhuǎn)串口線(pl2303)。

用CAT命令查看 cat /proc/tty/driver/serial如果需要配置串口參數(shù),minicom是個(gè)很好的選擇。

通過USB轉(zhuǎn)232串口線與PC機(jī)連接,這時(shí)候咱們的linux系統(tǒng)自動(dòng)安轉(zhuǎn)了驅(qū)動(dòng)程序,可以使用命令:dmesg 查看安裝驅(qū)動(dòng)的信息。

linux下的usb串口命名為ttyUSB*,運(yùn)行上面命令,可以看到有幾個(gè)設(shè)備掛載。 我們這里是:只有ttuUSB0.再用lsusb查看:usb 004正是我們掛上去的usb轉(zhuǎn)串口線纜,使用的芯片是PL2303。

如何在linux下調(diào)試串口,發(fā)送十六進(jìn)制數(shù)據(jù)

直接往你的串口寫四個(gè)字節(jié)的數(shù)就可以了,在你的另一個(gè)程序中讀取你往串口寫的那幾個(gè)數(shù),十六進(jìn)制打印出來就可以了。

串口發(fā)送的數(shù)據(jù)是8位的,最大為255,就是FF,如果要發(fā)送大于255的數(shù),必須變成幾個(gè)字節(jié)發(fā)送,例如要發(fā)送十進(jìn)制2315,就要將數(shù)據(jù)拆分 data(0)=2315/256; data(1)=2315%256; 這樣就拆分開數(shù)據(jù),再將數(shù)據(jù)發(fā)送出去。

如果是通過串口驅(qū)動(dòng)的接口直接讀取字符串信息,則需要查看該接口的定義。如果是通過c標(biāo)準(zhǔn)庫接口讀取字符串信息,則是按照字節(jié)目讀取。

你可以搜以下ASCII碼表。\“0\”對(duì)應(yīng)的16進(jìn)制數(shù)是30,\“3\”對(duì)應(yīng)的16進(jìn)制數(shù)是33。,那么發(fā)送的就是十六進(jìn)制數(shù)30和33,即發(fā)送二進(jìn)制數(shù)2個(gè)8比特:起始位11000000停止位 起始位 11000011停止位。

首先設(shè)置一下:串口號(hào)(你用哪個(gè)串口用來通訊就設(shè)置哪個(gè)串口),波特率、校驗(yàn)位、停止位這幾個(gè)參數(shù)(這幾個(gè)要和你單片機(jī)程序中串口設(shè)置的參數(shù)一樣)。然后“打開串口”,然后勾選“HEX發(fā)送”。

網(wǎng)站標(biāo)題:linux發(fā)送串口命令 linux 串口傳輸文件
轉(zhuǎn)載源于:http://muchs.cn/article18/dgcidgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、建站公司云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)用戶體驗(yàn)、企業(yè)建站

廣告

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

營(yíng)銷型網(wǎng)站建設(shè)