直接往你的串口寫(xiě)四個(gè)字節(jié)的數(shù)就可以了,在你的另一個(gè)程序中讀取你往串口寫(xiě)的那幾個(gè)數(shù),十六進(jìn)制打印出來(lái)就可以了。
創(chuàng)新互聯(lián)公司服務(wù)熱線:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁(yè)制作領(lǐng)域10年,包括柴油發(fā)電機(jī)等多個(gè)方面擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)錦上添花。
串口發(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; 這樣就拆分開(kāi)數(shù)據(jù),再將數(shù)據(jù)發(fā)送出去。
找到串口的設(shè)備號(hào) 在linux系統(tǒng)下,所有的設(shè)備都是文件,所以要先找到串口這個(gè)設(shè)備文件,之后就可以對(duì)這個(gè)串口進(jìn)行操作。
1、使用串口協(xié)議登錄Linux終端控制臺(tái),通過(guò)Zmodem文件傳輸協(xié)議接收一個(gè)外部文件。命令:rz -y會(huì)彈出文件瀏覽窗口,選擇要上傳的文件即可。-y 表示若文件已存在,則覆蓋。
2、可以用,只要你正確安裝了mono的響應(yīng)庫(kù)。在不熟悉的情況下,建議完整安裝mono 串口編程和在Windows下寫(xiě)程序是一樣的。
3、對(duì)串口操作就好比對(duì)文件操作?,F(xiàn)在設(shè)備目錄下找到那個(gè)設(shè)備文件,一般是ttyusb,然后對(duì)這個(gè)文件進(jìn)行配置,之后的在操作和操作文件一模一樣。
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è)很好的選擇。
我做的是一個(gè)通過(guò)串口來(lái)發(fā)送一串字符,實(shí)現(xiàn)NBIot的傳輸,系統(tǒng)是linux系統(tǒng)下的,發(fā)送的數(shù)據(jù)需要是16進(jìn)制的數(shù)據(jù)。以下是c語(yǔ)言開(kāi)發(fā)串口的相關(guān)代碼記錄。
直接open就可以啦 FILE *fp = open(“/dev/ttyS0”, O_RDWR);注/dev/ttyS*都是linux下串口的設(shè)備文件...直接讀寫(xiě)就是收發(fā)數(shù)據(jù)...別問(wèn)我文件怎么讀寫(xiě)...然后就可以write,read啦...記住一句話:一切都是文件。
那就需要轉(zhuǎn)換了。我最近也在做這樣的項(xiàng)目,轉(zhuǎn)換來(lái),轉(zhuǎn)換去麻煩死。發(fā)送的16進(jìn)制串要先轉(zhuǎn)換為byte[]然后writer 接受方read()后要把字節(jié)在轉(zhuǎn)換成16進(jìn)制串。
includereg5h define uchar unsigned char void display(uchar x1,uchar x2);{ //顯示部分你自己編吧。
你是不是16進(jìn)制指定錯(cuò)了, 應(yīng)該一個(gè)字節(jié)一個(gè)字節(jié)的送。 而且還得弄清楚高位和低位那個(gè)在前。
1、首先 找到你串口對(duì)應(yīng)的設(shè)備 一般是 /dev/ttyS1 當(dāng)然 也可能是別的 需要你自己確認(rèn)硬件。
2、比如你要發(fā)送0x01,0x02,0x03,0x04,char buf[256]={0x01,0x02,0x03,0x04};write(fd,buf,4);直接往你的串口寫(xiě)四個(gè)字節(jié)的數(shù)就可以了,在你的另一個(gè)程序中讀取你往串口寫(xiě)的那幾個(gè)數(shù),十六進(jìn)制打印出來(lái)就可以了。
3、再利用接口 tcsetattr() 函數(shù)將配置信息寫(xiě)入文件描述符 fd :這樣整個(gè)串口最常用的用法就配置完成了。具體的配置使用可以參考我的項(xiàng)目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。
4、可以用,只要你正確安裝了mono的響應(yīng)庫(kù)。在不熟悉的情況下,建議完整安裝mono 串口編程和在Windows下寫(xiě)程序是一樣的。