利用Visual C++實現(xiàn)串口通信編程
利用Visual C++在windows環(huán)境下設計異步串行通信程序可以使用不同的方法。一種方法可以使用windows系統(tǒng)提供的串行口API函數(shù);另一種方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件進行串行口程序設計相對比較簡單,只要對該控件的屬性、事件和方法進行設置和操作,就能完成簡單的串行通信功能。而直接使用windows系統(tǒng)提供的串行口API函數(shù)則相對較為靈活。試驗中,可根據(jù)自己的情況任意其中一種進行編程。以下針對如何使用windows系統(tǒng)提供的串行口API函數(shù)進行編程做簡要介紹
在windows系統(tǒng),串行口和其它通信設備都是作為文件進行處理的。串行口的打開、關(guān)閉、發(fā)送和接收所用的函數(shù)都與操作文件的函數(shù)相同??傮w來說,利用Visual C++進行異步串行通信程序設計通常可以分為4個大階段,它們是串行口打開階段、串行口狀態(tài)值讀取和屬性設置階段、串行數(shù)據(jù)的發(fā)送與接收階段,以及串行口關(guān)閉階段。
?。?) 打開串行口
在對串行口進行所有的操作之前,首先要將其打開。串行口的打開可以使用CreateFile函數(shù),CreateFile函數(shù)將返回一個句柄,在隨后與該串行口相關(guān)的各種操作中使用。與文件操作相同,在利用CreateFile打開串行口時,也可以將串行口指定為“讀訪問權(quán)限”、“寫訪問權(quán)限”或“讀寫訪問權(quán)限”。
HANDLE CreateFile(
LPCTSTR lpFileName
DWORD dwSharedMode
LPSECURITY_ATTRIBUTES lpSecurityAttributes
DWORD dwCreationDisposition
DWORD dwFlagsAndAttributes
HANDLE hTemplateFile
?。?/p>
在調(diào)用成功時,CreateFile返回打開文件的句柄,該句柄將在以后與該串口相關(guān)的各個調(diào)用函數(shù)中使用。如果調(diào)用失敗,則CreateFile返回INVALID_HANDLE_VALUE。
?。?) 串行口的狀態(tài)讀取和屬性設置
一旦將串口打開,就可以對該串口的屬性進行設置。由于串口的屬性非常復雜,因此通常采用讀取該串口當前狀態(tài)值,然后在此基礎上進行修改的方法。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%