Win CE串列埠通訊

2021-08-22 05:29:05 字數 1014 閱讀 8660

今天學習了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...