日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Linux環(huán)境下串口數(shù)據(jù)讀取實(shí)踐(linux串口數(shù)據(jù)讀?。?/div>

linux系統(tǒng)下串口數(shù)據(jù)讀取實(shí)踐

讓客戶(hù)滿意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、劍川網(wǎng)站維護(hù)、網(wǎng)站推廣。

Linux系統(tǒng)是高效強(qiáng)大的操作系統(tǒng),支持串口數(shù)據(jù)的讀取,可以更好的處理設(shè)備間的通訊。在Linux環(huán)境下讀取串口數(shù)據(jù),需要使用系統(tǒng)的串口驅(qū)動(dòng),和框架來(lái)實(shí)現(xiàn)串口操作。下面將介紹一個(gè)可以在linux環(huán)境下讀取串口數(shù)據(jù)的實(shí)踐。

一、環(huán)境準(zhǔn)備

(1)搭建Linux系統(tǒng)及網(wǎng)絡(luò)(安裝 ubuntu 17.04),并確保其可以正常使用。

(2)USB編程轉(zhuǎn)串口線,確保其可以連接而且可以在系統(tǒng)上識(shí)別。

二、安裝串口驅(qū)動(dòng)的框架

(1)在系統(tǒng)上安裝 libserialport(可以在上 github 上搜索),使 用以下命令:

“`shell

sudo apt-get install libserialport-dev


(2)安裝完成后,編寫(xiě)一個(gè)C語(yǔ)言的程序,使用以下命令:

```shell
gcc –o serialport_test serialport_test.c -lserialport

(3)編輯 serialport_test.c 文件,在文件頭部添加 libserialport 頭文件,如下:

“`c

#include


(4)添加讀取串口數(shù)據(jù)的函數(shù),代碼如下:

```c
//打開(kāi)串口
int serialport_open(const char *portname)
{
int fd;
fd = sp_get_port_by_name(portname, &port);
if (fd != SP_OK)
return fd;
// 設(shè)置串口參數(shù)
fd = sp_open(port, SP_MODE_READ_WRITE);
if (fd != SP_OK)
return fd;
// 設(shè)置比特率
options.baudrate = 9600;
options.bits = 8;
options.parity = SP_PARITY_NONE;
options.stopbits = 1;
options.rts = SP_RTS_OFF;
options.cts = SP_CTS_OFF;
fd = sp_set_config(port, &options);
if (fd != SP_OK)
return fd;
return 0;
}
//讀取串口數(shù)據(jù)
int serialport_read(void *buf, int len)
{
int fd, ret;
fd = sp_block_read(port, buf, len, 0, len);
if (fd > 0)
return fd;
else
return -1;
}
//關(guān)閉串口
int serialport_close()
{
sp_close(port);
return 0;
}

(5)最后在 main 函數(shù)中調(diào)用上面的函數(shù),實(shí)現(xiàn)讀取串口數(shù)據(jù)操作,代碼如下:

“`c

// 打開(kāi)串口

serialport_open(“/dev/ttyACM0”);

// 讀取串口數(shù)據(jù)

char buf[1024];

int len = serialport_read(buf,1024);

if (len > 0)

printf(“read %d bytes\n”, len);

// 關(guān)閉串口

serialport_close();


三、測(cè)試與運(yùn)行

(1)編譯好程序后,使用以下命令運(yùn)行:

```shell
./serialport_test

(2)此時(shí)會(huì)顯示讀取的數(shù)據(jù),表明串口數(shù)據(jù)成功讀取,實(shí)現(xiàn)了Linux環(huán)境下串口數(shù)據(jù)讀取操作。

綜上,本文介紹了在Linux環(huán)境下讀取串口數(shù)據(jù)的步驟,包括環(huán)境準(zhǔn)備、安裝串口驅(qū)動(dòng)框架、編寫(xiě)串口操作程序、測(cè)試與運(yùn)行,總的來(lái)說(shuō),使用libserialport的框架,可以實(shí)現(xiàn)Linux環(huán)境下的串口數(shù)據(jù)讀取操作。

成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專(zhuān)業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣等一站式服務(wù)。


網(wǎng)頁(yè)題目:Linux環(huán)境下串口數(shù)據(jù)讀取實(shí)踐(linux串口數(shù)據(jù)讀取)
網(wǎng)頁(yè)URL:http://m.5511xx.com/article/coggdse.html