- 相關(guān)推薦
Windows CE下串行通信的實(shí)現(xiàn)
摘要:Windows CE是微軟公司推出的一種嵌入式的操作系統(tǒng)、用于系統(tǒng)資源有限的小型設(shè)備。它采用模塊化的結(jié)構(gòu),支持多種外部接口,包括最常用的RS232串行接口。本文就Windows CE系統(tǒng)串行接口的編程進(jìn)行討論,并給出與GPS設(shè)備的接口程序。1 Windows CE簡(jiǎn)介
Windows CE是一種小型的、基于ROM的、具有Win32子集API的操作系統(tǒng)。它的優(yōu)勢(shì)在于小尺寸、Win32 API子集和對(duì)多平臺(tái)的支持能力。在Windows CE下編程需要注意的是,Windows CE設(shè)備的資源很少,存儲(chǔ)器、顯示器都很小,接口也比較少,而且根據(jù)實(shí)際情況變化很大。另外,Windows CE只支持Unicode,這在編程中要格外注意。在Windows CE中,除了一些基本的Windows通用控件以外,還有一些專(zhuān)門(mén)設(shè)計(jì)的控件,比如CommandBar。Windows CE體積雖小,但是它的功能并不少,內(nèi)存管理、文件操作、多線程、網(wǎng)絡(luò)功能等等它都支持,可以說(shuō)是麻雀雖小,五臟俱全。
2 Windows CE下的串行通信
串行端口在Windows CE下屬于流接口設(shè)備,它是串行設(shè)備接口的常規(guī)I/O驅(qū)動(dòng)程序調(diào)用和與通信相關(guān)的具體函數(shù)的結(jié)合。串行設(shè)備被視為用于打開(kāi)、關(guān)閉、讀寫(xiě)串行端口的常規(guī)、可安裝的流設(shè)備。Windows CE的通信函數(shù)和其它大多數(shù)Windows的通信函數(shù)相同。特別要注意的是,Windows CE不支持直接對(duì)串行端口的寄存器進(jìn)行編程。常用的串行端口函數(shù)介紹如下:
(1)打開(kāi)和關(guān)閉串行端口
CreateFile函數(shù)用于打開(kāi)串行口。
hPort=CreateFile(TEXT(“COM1:”),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL)。注意COM1后要有一個(gè)冒號(hào)。最后一個(gè)參數(shù)dwFlagsAndAttributes必須為0,因?yàn)閃indows CE只支持非重疊I/O。第3個(gè)參數(shù)dwShareMode也必須為0,通信端口不能像文件一樣被共享。這個(gè)函數(shù)的返回值是已打開(kāi)的串行端口的句柄或者是INVALID_HANDLE_VALUE。
關(guān)閉串行口可以調(diào)用CloseHandle(hPort)。
(2)配置串行端口
配置串行口主要是用DCB結(jié)構(gòu)配置端口設(shè)置,包括波特率、停止位、數(shù)據(jù)位長(zhǎng)度、校驗(yàn)位、流量控制等等,還有配置超時(shí)值。
首先打開(kāi)串行端口,用GetCommState函數(shù)獲得當(dāng)前打開(kāi)串口配置,然后根據(jù)需要修改DCB成員,最后用SetCommState函數(shù)設(shè)置新的串口配置。
DCB PortDCB; //創(chuàng)建DCB變量
Port.DCB.DCBlength=sizeof(DCB);
GetCommState(hPort,
【W(wǎng)indows CE下串行通信的實(shí)現(xiàn)】相關(guān)文章:
在Windows2000下用多線程實(shí)現(xiàn)1394串行總線通信03-20
Windows CE中實(shí)現(xiàn)藍(lán)牙串口驅(qū)動(dòng)程序03-18
Windows CE環(huán)境下無(wú)線網(wǎng)卡的自動(dòng)安裝03-19
在VC 中用ActiveX控件實(shí)現(xiàn)與單片機(jī)的串行通信03-19
用Borland C 3.1實(shí)現(xiàn)外設(shè)與Windows應(yīng)用程序?qū)崟r(shí)通信03-21
TMS320C54XX系列DSP與PC機(jī)間串行通信的實(shí)現(xiàn)03-18
在Windows系統(tǒng)中用VC 實(shí)現(xiàn)鉤子機(jī)制03-18