今天學習了wince下的串列埠通訊實驗。現小結如下:
1。裝置檔名:裝置檔名字首由3個大寫字母組成,用來標識與特殊流介面驅動程式相對應的特殊裝置檔名。檔名字首儲存在登錄檔的相應驅動程式的鍵值中。如com(序列驅動程式)、acm(音訊壓縮管理器)等。
2。訪問裝置驅動方法:通過createfile、readfile、 writefile、 deviceiocontrol等函式訪問。
3。串列埠通訊實現過程:
1)開啟串列埠:handle hcom = createfile(l"com1:", generic_read | generic_write,0, null, open_existing, 0, null);//注意加冒號!!!!
2)設定dcb:
int initdcb(handle hport)
3)為指定的串列埠設定響應延時時間引數:
int initcommtimeouts(handle hport)
4)設定字元事件:setcommmask(hcom , ev_rxchar);
5)設定串列埠讀寫緩衝區大小:setupcomm(hcom ,2048,2048);
6)建立接收執行緒:com_hthread = createthread(null, 0, readthreadport, this, 0, null);
由於wince不支援重疊i/o。因此不要從主線程讀寫大量的序列資料,因為這些執行緒還負責處理用於它們視窗的訊息佇列。不能因為讀大量的序列資料而阻塞它們。因此應用單獨的專有執行緒來讀寫串列埠。
dword winapi readthreadport(lpvoid lpvoid)//執行緒函式實現
else//讀取成功
}//返回串列埠狀態
getcommmodemstatus (pdlg->com_hcom,&dwcommmodemstatus);}}
return 0;
}7)最後關閉串列埠:
oid shutport(handle hport)//關閉串列埠
注:本文原始碼來自實驗手冊!!!
Win CE串列埠通訊
今天學習了wince下的串列埠通訊實驗。現小結如下 1。裝置檔名 裝置檔名字首由3個大寫字母組成,用來標識與特殊流介面驅動程式相對應的特殊裝置檔名。檔名字首儲存在登錄檔的相應驅動程式的鍵值中。如com 序列驅動程式 acm 音訊壓縮管理器 等。2。訪問裝置驅動方法 通過createfile read...
WinCE中串列埠通訊的除錯方法
串列埠是嵌入式系統中應用很廣的一種通訊介面。在wince中,通常會有乙個串列埠供除錯使用,另外的串列埠可與外圍裝置連線,如gsm和gps等模組,以獲取相應的資訊並進行處理。在wince中,為了使用串列埠,必須有相應的串列埠驅動程式,一般在bsp中都有實現。串列埠驅動是典型的流驅動。應用程式中可通過c...
串列埠通訊 串列埠通訊原理
1 rs232介面 rs232 c介面聯結器一般使用型號為db 9的9芯插頭座,只需3條介面線,即 傳送資料 接收資料 和 訊號地 即可傳輸資料,其9個引腳的定義如圖11 3所示。圖11 3 rs232 c介面聯結器定義 在rs232的規範中,電壓值在 3v 15v 一般使用 6v 稱為 0 或 o...