超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 氣體傳感器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
氣體傳感器

基于WinCE6.0的LPC3250串口驅(qū)動(dòng)程序開發(fā)

發(fā)布日期:2022-04-17 點(diǎn)擊率:93

引 言

Windows CE是一個(gè)開放的、可升級(jí)、可裁減的32位實(shí)時(shí)嵌入式操作系統(tǒng),具有可靠性好、實(shí)時(shí)性高、內(nèi)核體積小的特點(diǎn),廣泛應(yīng)用于工業(yè)控制、信息家電、移動(dòng)通信、汽車電子、個(gè)人電子消費(fèi)品等領(lǐng)域。最新版本W(wǎng)indows Em-bedded CE 6.0于2006年11月發(fā)布,其特點(diǎn)有:最大進(jìn)程數(shù)量到32K,且每個(gè)進(jìn)程有最大2 GB的虛擬內(nèi)存空間;將關(guān)鍵的驅(qū)動(dòng)程序、文件系統(tǒng)和圖形界面管理器移到了內(nèi)核中,大大減少了CPU在內(nèi)核態(tài)和用戶態(tài)間切換造成的性能損失等。 LPC3250是NXP半導(dǎo)體公司(由Philips公司成立)推出的帶有矢量浮點(diǎn)協(xié)處理器的ARM926EJ-SCPU內(nèi)核的微控制器。它具有豐富的外圍接口,包括7個(gè)UART,其中4個(gè)是標(biāo)準(zhǔn)UART,另外3個(gè)是高速UART,都帶有64字節(jié)的接收和發(fā)送FIFO,最高可支持的速率達(dá)921 600 b/s。為了實(shí)現(xiàn)低功耗,LPC3250采用NXP半導(dǎo)體先進(jìn)的開發(fā)技術(shù)來優(yōu)化內(nèi)在功率,并使用增強(qiáng)型的軟件控制結(jié)構(gòu)使基于功率管理的應(yīng)用得到優(yōu)化。在同時(shí)要求高性能和低功耗的嵌入式應(yīng)用中,運(yùn)行Win-dows CE的LPC3250平臺(tái)將會(huì)有很好的市場前景,對(duì)于最常用到的串口的驅(qū)動(dòng)開發(fā)顯得尤為重要。

1 WindOWS CE的串口驅(qū)動(dòng)模型

基于Windows CE有兩種驅(qū)動(dòng)程序模型:本機(jī)設(shè)備驅(qū)動(dòng)程序和流接口驅(qū)動(dòng)程序。串口驅(qū)動(dòng)就屬于分層的流接口驅(qū)動(dòng)程序。分層驅(qū)動(dòng)程序?qū)⒃O(shè)備的驅(qū)動(dòng)程序分為兩層:平臺(tái)相關(guān)驅(qū)動(dòng) PDD(Platform Dependence Driver)層和模型設(shè)備驅(qū)動(dòng)MDD(Model Device Driver)層。PDD層由特定于給定硬件設(shè)備或平臺(tái)的代碼組成,很多時(shí)候用戶需要根據(jù)具體平臺(tái)修改;MDD層包含平臺(tái)無關(guān)的代碼,它通過實(shí)現(xiàn)一些操作系統(tǒng)預(yù)先定義的接口來實(shí)現(xiàn)某一類設(shè)備的通用功能,通常由微軟提供。操作系統(tǒng)與MDD層之間通過DDI(設(shè)備驅(qū)動(dòng)接口)進(jìn)行交互。MDD層也實(shí)現(xiàn)了中斷處理線程IST,并定義一些與PDD層的接口函數(shù),這些接口函數(shù)稱為DDSI(設(shè)備驅(qū)動(dòng)服務(wù)接口)。

用%_WinCEROOT%來表示W(wǎng)indows CE的安裝根目錄,符合‘550工業(yè)規(guī)范的串口驅(qū)動(dòng)源碼主要位于\%_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\SERIAL下,主要看表1所列的一些重要文件。

如圖1所示,串口應(yīng)用程序通過設(shè)備管理器調(diào)用mdd.c中MDD層的標(biāo)準(zhǔn)流設(shè)備驅(qū)動(dòng)接口COM_XXX,在COM_XXX中通過結(jié)構(gòu)體 HW_INDEP_INFO中HWOBJ結(jié)構(gòu)體調(diào)用串口硬件操作函數(shù)HWxxx;然后在cserpdd.cpp中GetSeri-alObject函數(shù)通過HW_VTBL類型數(shù)組IoVTb1將HWxxx映射為Serxxx系列函數(shù),Serxxx系列函數(shù)則調(diào)用CSerialPDD類中的成員函數(shù)(其中的純虛函數(shù)由CserialP-DD的繼承類CP-dd16550實(shí)現(xiàn),真正與物理底層操作的是CPdd16550的數(shù)據(jù)成員CReg16550中的 Write_XXX、Read_XXX函數(shù));最終通過調(diào)用WRITE_PORT_UCHAR和READ_PORT_UCHAR系統(tǒng)函數(shù)來實(shí)現(xiàn)。


2 WinCE6.0下的LPC3250串口驅(qū)動(dòng)程序開發(fā)

Windows CE的串口驅(qū)動(dòng)程序開發(fā)中最重要的是兩點(diǎn):配置串口相關(guān)的寄存器和處理中斷。配置寄存器,包括實(shí)現(xiàn)與物理底層操作的函數(shù),將寄存器地址映射到內(nèi)核進(jìn)程的虛擬地址,在串口操作的不同階段配置好各種寄存器;處理中斷,包括將物理中斷映射為系統(tǒng)中斷,將中斷與事件綁定,中斷發(fā)生時(shí)進(jìn)行相應(yīng)的中斷處理。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多