久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux串口的概念是什么

177次閱讀
沒有評論

共計 1881 個字符,預(yù)計需要花費 5 分鐘才能閱讀完成。

本篇內(nèi)容介紹了“l(fā)inux 串口的概念是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

linux 串口是串行接口的簡稱,是采用串行通信方式的擴(kuò)展接口;串口是計算機一種常用的接口,具有連接線少、通信簡單的特點,只要一對傳輸線就可以實現(xiàn)雙向通信,linux 可以使用系統(tǒng)調(diào)用 open() 或 close() 來打開或關(guān)閉串口。

本教程操作環(huán)境:linux7.3 系統(tǒng)、Dell G3 電腦。

linux 串口是什么意思

串行接口 (Serial Interface) 是指數(shù)據(jù)一位一位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。

一條信息的各位數(shù)據(jù)被逐位 按順序傳送的通訊方式稱為串行通訊。

串行通訊的特點是:

數(shù)據(jù)位的傳送,按位順序進(jìn)行,最少只需一根傳輸線即可完成;

成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米;

根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種。

串口是計算機上的串行通訊的物理接口。計算機歷史上,串口曾經(jīng)被廣泛用于連接計算機和終端設(shè)備和各種外部設(shè)備。雖然以太網(wǎng)接口和 USB 接口也是以一個串行流進(jìn)行數(shù)據(jù)傳送的,但是串口連接通常特指那些與 RS-232 標(biāo)準(zhǔn)兼容的硬件或者調(diào)制解調(diào)器的接口。

串行接口簡稱串口(通常指 COM 接口),是采用串行通信方式的擴(kuò)展接口。串口是計算機一種常用的接口,具有連接線少,通訊簡單,得到廣泛的使用。串口的特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信從而大大降低了成本,特別適用于遠(yuǎ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)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實用文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計1881字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 渭源县| 延庆县| 龙海市| 清远市| 海安县| 鹤壁市| 广平县| 广灵县| 临潭县| 乌苏市| 怀集县| 南安市| 迭部县| 长宁县| 泰顺县| 会宁县| 远安县| 根河市| 江永县| 平谷区| 宝丰县| 措美县| 安义县| 金沙县| 桃园市| 海宁市| 旌德县| 安化县| 宁南县| 澄迈县| 金平| 枣强县| 乌兰浩特市| 如东县| 安泽县| 循化| 金秀| 文山县| 夏津县| 梅河口市| 平陆县|