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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下串口通信編程實(shí)戰(zhàn)(linux下串口通信編程)

linux下串口通信編程實(shí)戰(zhàn)

串口通信可以實(shí)現(xiàn)硬件和計(jì)算機(jī)之間的信息交互,因此在各種設(shè)備的編程中應(yīng)用較為廣泛。本文主要介紹如何在Linux環(huán)境下使用C語言進(jìn)行串口通信編程。

1、打開串口:

首先,我們需要在Linux下打開串口,這一步包括以下幾個(gè)步驟:

A 、根據(jù)串口名稱及其相應(yīng)的設(shè)備文件打開串口:

例如:串口名稱為Serial0,那么設(shè)備文件就是/dev/ttyS0,此時(shí)使用open函數(shù)打開串口:

int fd = open(“/dev/ttyS0”, O_RDWR | O_NOCTTY | O_NDELAY);

其中fd是返回的文件描述符,其他參數(shù)分別表示以可讀可寫、非調(diào)制模式打開以及不懂阻塞的形式打開串口。

B 、獲取串口屬性:

當(dāng)打開串口成功之后,可以使用tcgetattr函數(shù)獲取串口屬性:

struct termios opt;

tcgetattr(fd, &opt);

C、設(shè)置串口屬性:

通過上述函數(shù)將串口屬性獲取成功之后,就可以改變其屬性,如波特率、數(shù)據(jù)位等,例如設(shè)置波特率為115200:

cfsetispeed(&opt, B115200);

cfsetospeed(&opt, B115200);

D、設(shè)置本地模式:

設(shè)置本地模式時(shí)要用到字段c_cflag:

opt.c_cflag &= ~CSIZE; //屏蔽其他標(biāo)志位

opt.c_cflag |= CS8; //數(shù)據(jù)位為8位

opt.c_cflag &= ~PARENB; //無校驗(yàn)位

opt.c_cflag &= ~CSTOPB; //1位停止位

opt.c_cc[VTIME] = 150; //設(shè)置超時(shí)15 seconds

opt.c_cc[VMIN] = 0; //讀取字符的最少個(gè)數(shù)

E 、激活配置:

將以上設(shè)置好的參數(shù)應(yīng)用到串口中,使用tcsetattr函數(shù)即可:

tcsetattr(fd, TCSANOW, &opt);

2、進(jìn)行數(shù)據(jù)傳輸:

當(dāng)打開串口以及設(shè)置串口屬性激活配置之后,就可以使用read函數(shù)和write函數(shù)來進(jìn)行數(shù)據(jù)傳輸:

write(fd, buf, len);該函數(shù)可以用于向串口發(fā)送數(shù)據(jù),buf指向發(fā)送緩沖區(qū),len為待發(fā)送數(shù)據(jù)的長度;

read(fd, buf, len);該函數(shù)可以用于從串口接受數(shù)據(jù),buf指向接收緩沖區(qū),len為緩沖區(qū)的長度。

3、關(guān)閉串口:

當(dāng)完成全部操作之后,使用close函數(shù)關(guān)閉串口:

close(fd);

以上就是Linux下串口通信的過程,串口通信的原理同樣適用于Windows環(huán)境,只是API函數(shù)及其參數(shù)會(huì)有些不同而已。

成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊(cè)、網(wǎng)頁、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。


網(wǎng)頁名稱:Linux下串口通信編程實(shí)戰(zhàn)(linux下串口通信編程)
標(biāo)題路徑:http://www.5511xx.com/article/dpdicoi.html