基于嵌入式WinCE與MSP430單片機多串口通信設計
微軟提供了PB(Platform Builder)作為定制WinCE操作系統的集成開(kāi)發(fā)環(huán)境。PB環(huán)境支持多種功能模塊和硬件接口,可以根據目標設備的具體硬件配置進(jìn)行WinCE的裁剪和定制,定制WinCE平臺的流程如圖2所示。首先,通過(guò)安裝和創(chuàng )建設備驅動(dòng)程序對網(wǎng)卡、串口、顯示驅動(dòng)、USB和電源驅動(dòng)等硬件進(jìn)行定制;然后,定制系統組件和服務(wù),包括TCP/IP、FTP、MFC、Telnet等,并根據硬件配置和操作系統的應用特性修改配置文件;最后,生成操作系統映像文件,通過(guò)網(wǎng)口或串口將其下載到目標設備中運行。定制完成后,導出應用程序開(kāi)發(fā)工具包SDK。本文引用地址:http://dyxdggzs.com/article/172596.htm
3 串口UART模塊
3.1 WinCE操作系統串口
在WinCE下運行的程序,一般是在Windows環(huán)境下開(kāi)發(fā)的,然后下載到嵌入式設備中。系統中是在Windows環(huán)境下用EVC去開(kāi)發(fā)應用軟件,然后下載到設備中去。串口在WinCE中屬于流接口設備,可以像對文件一樣對串口進(jìn)行打開(kāi)、關(guān)閉、讀寫(xiě)等操作。WinCE下的串口函數和Win-dows下的串口函數基本相同,但在一些方面有所不同:1)WinCE只支持Unicode;2)WinCE中有一些自己特有的控件,可以方便編程;3)EVC不支持重疊I/O操作。
3.2 在WinCE下開(kāi)發(fā)串口通信步驟
1)打開(kāi)端口并進(jìn)行初始化 在EVC中把設備當做文件來(lái)處理,故使用CreateFile來(lái)打開(kāi)端口。如果打開(kāi)成功,則會(huì )返回打開(kāi)串口的句柄。成功打開(kāi)一個(gè)端口之后,需要對端口進(jìn)行初始化。調用串口通信函數SetupComm,設置COM的發(fā)送和接收緩沖區的大小。分配好緩沖區以后,調用CetCommTimeouts函數對讀寫(xiě)串口進(jìn)行超時(shí)設置。然后調用GetCommState函數獲取當前串口的默認參數并返回一個(gè)DCB結構體地址,通過(guò)給這個(gè)DCB結構體各成員賦值來(lái)重新設定串口狀態(tài)。最后調用PurgeComm函數清空串口的發(fā)送接收緩沖區。
2)對串口進(jìn)行讀寫(xiě)操作 成功配置好串口參數后即可調用函數ReadFile和WriteFile對串口進(jìn)行讀寫(xiě)操作。在通信的過(guò)程中可能出現通信錯誤導致程序無(wú)法繼續進(jìn)行,一般需要調用ClearCommError清除這些錯誤。
3)關(guān)閉串口 使用完串口后必須關(guān)閉串口。串口不能像文件一樣被共享,不釋放別的應用程序不能使用。關(guān)閉串口只需使用CloseHandle即可。WinCE串口流程圖如圖3所示。
評論