




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1嵌入式系統(tǒng)嵌入式系統(tǒng)第第8講講 ARM-Linux 串口通信程序設(shè)計串口通信程序設(shè)計串口程序相關(guān)函數(shù)串口程序相關(guān)函數(shù)串口參數(shù)設(shè)定和文件操作的幾個重要函數(shù)函數(shù)名描述舉例open打開串口文件open(/dev/ttyS0,O_RDWR)tcgetattr保存當(dāng)前串口設(shè)置tcgetattr(fd,&oldtio)tcsetattr設(shè)置串口參數(shù)tcsetattr(fd,TCSANOW,&newtio)read從串口中讀數(shù)據(jù)read(fd, buff, Len)tcflush清除串口緩沖區(qū)tcflush(fd, TCIFLUSH);write向串口中寫數(shù)據(jù)write(fd, buffe
2、r ,Length)close關(guān)閉串口文件close(fd);參數(shù)說明close(fd); 控制選項控制選項串口設(shè)置函數(shù)串口設(shè)置函數(shù)tcsetattrtcsetattrint tcsetattr(int fd,int opt_DE,*ptr)該函數(shù)用來設(shè)置終端控制屬性,其參數(shù)說明如下: fd:待操作的文件描述符 opt_DE:選項值,有三個選項以供選擇: TCSANOW: 不等數(shù)據(jù)傳輸完畢就立即改變屬性 TCSADRAIN:等待所有數(shù)據(jù)傳輸結(jié)束才改變屬性 TCSAFLUSH:清空輸入輸出緩沖區(qū)才改變屬性 *ptr:指向termios結(jié)構(gòu)的指針函數(shù)返回值:成功返回0,失敗返回1。tcgetatt
3、rtcgetattrint tcgetattr(int fd,*ptr)該函數(shù)用來獲取終端控制屬性,它把串口的默認(rèn)設(shè)置賦給了termios數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu),其參數(shù)說明如下: fd:待操作的文件描述符 *ptr:指向termios結(jié)構(gòu)的指針函數(shù)返回值:成功返回0,失敗返回1。tcflushtcflushint tcflush(int fd,int quene)參數(shù)說明:quene取值及含義: *TCIFLUSH 清除輸入隊列 *TCOFLUSH 清除輸出隊列 *TCIOFLUSH 清除輸入、輸出隊列舉例:tcflush(fd,TCIOFLUSH);另加的說明:在打開串口后,用戶其實已經(jīng)可以開始從串口
4、讀取數(shù)據(jù)了,但如果用戶沒有讀取,數(shù)據(jù)將被將保存在緩沖區(qū)里。如果用戶不想要開始的一段數(shù)據(jù),或者發(fā)現(xiàn)緩沖區(qū)數(shù)據(jù)有誤,可以使用這個函數(shù)將緩沖區(qū)清空。應(yīng)用舉例:tcflush(fd, TCIOFLUSH); sleep(2); read_len = read(fd, buff, 10);讀操作讀操作串口讀操作read()(接收端)用open函數(shù)打開設(shè)備文件,函數(shù)返回一個文件描述符(file descriptors,fd),通過文件描述符來訪問文件。函數(shù)原型如下:int read(int fd, *buffer,length);參數(shù)說明:(1).int fd:文件描述符(2).*buffer:數(shù)據(jù)緩沖區(qū)(3).length:要讀取的字節(jié)數(shù)函數(shù)返回值:讀操作成功讀取返回讀取的字節(jié)數(shù),失敗則返回-1。串口寫操作write()(發(fā)送端)函數(shù)原型如下:write(int fd, *buffer,length);參數(shù)說明:(1).fd:文件描述符(2).*buffer:存儲寫入數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)(3).length:寫入緩沖去的數(shù)據(jù)字節(jié)數(shù)函數(shù)返回值:成功返回寫入數(shù)據(jù)的字節(jié)數(shù),該值通常等于length,如果寫入失敗返回-1。寫操作寫操作發(fā)送數(shù)據(jù) char buffer1024; int Length; int nByte; nByte = write (fd , buffer ,Length) 讀取串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山西財貿(mào)職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))歷年真題考點含答案解析
- 2025年安陽幼兒師范高等??茖W(xué)校高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年安慶職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 烤肉餐飲類模板
- 心理健康教育自我認(rèn)識
- 根管預(yù)備護(hù)理配合
- 人教版數(shù)學(xué)小學(xué)六年級下冊《第七課圖形與位置》練習(xí)
- 山東建筑大學(xué)《水工鋼筋混凝土結(jié)構(gòu)及鋼結(jié)構(gòu)》2023-2024學(xué)年第二學(xué)期期末試卷
- 溫州職業(yè)技術(shù)學(xué)院《周易》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年甘肅省定西市岷縣二中高三英語試題第四次月考試卷含解析
- 2025屆高考語文復(fù)習(xí):補(bǔ)寫語句+課件
- 幼兒園美術(shù):交通工具
- 康養(yǎng)服務(wù)專業(yè)群建設(shè)方案
- 人教版部編版統(tǒng)編版一年級語文上冊漢語拼音9《y+w》課件
- CB-Z-211-1984船用金屬復(fù)合材料超聲波探傷工藝規(guī)程
- CJJ99-2017 城市橋梁養(yǎng)護(hù)技術(shù)標(biāo)準(zhǔn)
- 澳大利亞省公開課一等獎新名師比賽一等獎?wù)n件
- 2024年高考英語快速提閱讀-科技創(chuàng)新類詞匯記
- 《濕地資源資產(chǎn)評估和資源核算技術(shù)規(guī)范》報批稿及編制說明
- 《職業(yè)道德與法治》開學(xué)第一課(導(dǎo)言)(課件)-【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂課件+教案(高教版2023·基礎(chǔ)模塊)
- 水平垂直運輸專項方案
評論
0/150
提交評論