本篇內(nèi)容介紹了“l(fā)inux串口的概念是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司主要業(yè)務(wù)有網(wǎng)站營銷策劃、網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、微信平臺小程序開發(fā)、H5高端網(wǎng)站建設(shè)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都營銷網(wǎng)站建設(shè)資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
linux串口是串行接口的簡稱,是采用串行通信方式的擴展接口;串口是計算機一種常用的接口,具有連接線少、通信簡單的特點,只要一對傳輸線就可以實現(xiàn)雙向通信,linux可以使用系統(tǒng)調(diào)用open()或close()來打開或關(guān)閉串口。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
串行接口 (Serial Interface) 是指數(shù)據(jù)一位一位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠距離通信,但傳送速度較慢。
一條信息的各位數(shù)據(jù)被逐位 按順序傳送的通訊方式稱為串行通訊。
串行通訊的特點是:
數(shù)據(jù)位的傳送,按位順序進行,最少只需一根傳輸線即可完成;
成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米;
根據(jù)信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。
串口是計算機上的串行通訊的物理接口。計算機歷史上,串口曾經(jīng)被廣泛用于連接計算機和終端設(shè)備和各種外部設(shè)備。雖然以太網(wǎng)接口和USB接口也是以一個串行流進行數(shù)據(jù)傳送的,但是串口連接通常特指那些與RS-232標(biāo)準(zhǔn)兼容的硬件或者調(diào)制解調(diào)器的接口。
串行接口簡稱串口(通常指COM接口),是采用串行通信方式的擴展接口。串口是計算機一種常用的接口,具有連接線少,通訊簡單,得到廣泛的使用。串口的特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信從而大大降低了成本,特別適用于遠距離通信,但傳送速度較慢。在Linux中,同樣存在著大量的串口,本文我們就來聊聊Linux下的串口。
一、串口需要的頭文件
1: #include /*標(biāo)準(zhǔn)輸入輸出定義*/
2: #include /*標(biāo)準(zhǔn)函數(shù)庫定義*/
3: #include /*Unix 標(biāo)準(zhǔn)函數(shù)定義*/
4: #include
5: #include
6: #include /*文件控制定義*/
7: #include /*POSIX 終端控制定義*/
8: #include /*錯誤號定義*/
二、打開關(guān)閉串口
對于串口設(shè)備文件的操作與其他文件操作基本相同??梢允褂孟到y(tǒng)調(diào)用open(), close()打開或關(guān)閉串口。
在Linux下串口文件是在/dev下的,例如串口一為/dev/ttyS0,串口二為/dev/ttyS1。
open(),close()系統(tǒng)調(diào)用的原型
1: #include 2: #include 3: #include 4: int open(const char *path, int oflags); 5: int open(const char *path, int oflags, mode_t mode); 6: #include 7: int close(int fildes); 8: 實例:打開串口ttyS0。 9: int fd; 10: /*以讀寫方式打開串口*/ 11: fd = open( "/dev/ttyS0", O_RDWR); 12: if (-1 == fd){ 13: /* 不能打開串口一*/ 14: perror("open serial port error"); 15: }
三、設(shè)置串口
設(shè)置串口包括波特率設(shè)置、校驗位、停止位設(shè)置。在串口設(shè)置中主要是設(shè)置struct termios結(jié)構(gòu)體成員的值。
struct termios結(jié)構(gòu)如下
1: #include 2: struct termio 3: { 4: unsigned short c_iflag; /* input options輸入模式標(biāo)志 */ 5: unsigned short c_oflag; /* output options輸出模式標(biāo)志 */ 6: unsigned short c_cflag; /* control options控制模式標(biāo)志*/ 7: unsigned short c_lflag; /* local mode flags */ 8: unsigned char c_line; /* line discipline */ 9: unsigned char c_cc[NCC]; /* control characters */ 10: };
“l(fā)inux串口的概念是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
文章名稱:linux串口的概念是什么
標(biāo)題來源:http://www.rwnh.cn/article44/jicpee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、微信小程序、響應(yīng)式網(wǎng)站、網(wǎng)站排名、全網(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)