linux串口驅(qū)動(dòng)編程

linux串口驅(qū)動(dòng)編程

ID:17533482

大小:408.50 KB

頁數(shù):66頁

時(shí)間:2018-09-02

linux串口驅(qū)動(dòng)編程_第1頁
linux串口驅(qū)動(dòng)編程_第2頁
linux串口驅(qū)動(dòng)編程_第3頁
linux串口驅(qū)動(dòng)編程_第4頁
linux串口驅(qū)動(dòng)編程_第5頁
資源描述:

《linux串口驅(qū)動(dòng)編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、Linux串口(serial、uart)驅(qū)動(dòng)程序設(shè)計(jì)目錄Linux串口(serial、uart)驅(qū)動(dòng)程序設(shè)計(jì)2一、核心數(shù)據(jù)結(jié)構(gòu)2二、串口驅(qū)動(dòng)API6三、串口驅(qū)動(dòng)例子9linuxUART串口驅(qū)動(dòng)開發(fā)文檔27概念闡述27一、老版本的串口驅(qū)動(dòng)程序28二、目前的串口驅(qū)動(dòng)程序29三、3個(gè)數(shù)據(jù)結(jié)構(gòu)及其串口核心層API311、uart_driver312、uart_port323、uart_ops33四、uart_ops37五、注冊串口終端40六、支持platform_driver43七、串口接收數(shù)據(jù)和發(fā)送數(shù)據(jù)流程451.相關(guān)

2、文件452.數(shù)據(jù)收發(fā)47基于Linux2.6.22和s3c2440的串口驅(qū)動(dòng)簡析---(1)2013-11-2115:56:3248基于Linux2.6.22和s3c2440的串口驅(qū)動(dòng)簡析---(2)2013-11-2115:58:4956Linux串口(serial、uart)驅(qū)動(dòng)程序設(shè)計(jì)分類:LINUX原文地址:Linux串口(serial、uart)驅(qū)動(dòng)程序設(shè)計(jì)作者:lingdxuyan一、核心數(shù)據(jù)結(jié)構(gòu)串口驅(qū)動(dòng)有3個(gè)核心數(shù)據(jù)結(jié)構(gòu),它們都定義在<#includelinux/serial_core.h>1、ua

3、rt_driveruart_driver包含了串口設(shè)備名、串口驅(qū)動(dòng)名、主次設(shè)備號(hào)、串口控制臺(tái)(可選)等信息,還封裝了tty_driver(底層串口驅(qū)動(dòng)無需關(guān)心tty_driver)。structuart_driver{structmodule*owner;/*擁有該uart_driver的模塊,一般為THIS_MODULE*/constchar*driver_name;/*串口驅(qū)動(dòng)名,串口設(shè)備文件名以驅(qū)動(dòng)名為基礎(chǔ)*/constchar*dev_name;/*串口設(shè)備名*/intmajor;/*主設(shè)備號(hào)*/intm

4、inor;/*次設(shè)備號(hào)*/intnr;/*該uart_driver支持的串口個(gè)數(shù)(最大)*/structconsole*cons;/*其對應(yīng)的console.若該uart_driver支持serialconsole,否則為NULL*//**theseareprivate;thelowleveldrivershouldnot*touchthese;theyshouldbeinitialisedtoNULL*/structuart_state*state;structtty_driver*tty_driver;};2

5、、uart_portuart_port用于描述串口端口的I/O端口或I/O內(nèi)存地址、FIFO大小、端口類型、串口時(shí)鐘等信息。實(shí)際上,一個(gè)uart_port實(shí)例對應(yīng)一個(gè)串口設(shè)備structuart_port{spinlock_tlock;/*串口端口鎖*/unsignedintiobase;/*IO端口基地址*/unsignedchar__iomem*membase;/*IO內(nèi)存基地址,經(jīng)映射(如ioremap)后的IO內(nèi)存虛擬基地址*/unsignedintirq;/*中斷號(hào)*/unsignedintuartcl

6、k;/*串口時(shí)鐘*/unsignedintfifosize;/*串口FIFO緩沖大小*/unsignedcharx_char;/*xon/xoff字符*/unsignedcharregshift;/*寄存器位移*/unsignedchariotype;/*IO訪問方式*/unsignedcharunused1;#defineUPIO_PORT(0)/*IO端口*/#defineUPIO_HUB6(1)#defineUPIO_MEM(2)/*IO內(nèi)存*/#defineUPIO_MEM32(3)#defineUPIO

7、_AU(4)/*Au1x00typeIO*/#defineUPIO_TSI(5)/*Tsi108/109typeIO*/#defineUPIO_DWAPB(6)/*DesignWareAPBUART*/#defineUPIO_RM9000(7)/*RM9000typeIO*/unsignedintread_status_mask;/*關(guān)心的Rxerrorstatus*/unsignedintignore_status_mask;/*忽略的Rxerrorstatus*/structuart_info*info;/*

8、pointertoparentinfo*/structuart_icounticount;/*計(jì)數(shù)器*/structconsole*cons;/*console結(jié)構(gòu)體*/#ifdefCONFIG_SERIAL_CORE_CONSOLEunsignedlongsysrq;/*sysrqtimeout*/#endifupf_tflags;#defineUPF_FOURPORT

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。