程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 用API函數實現串行通訊

用API函數實現串行通訊

編輯:vc教程

以往的DOS是通過DOS中斷和BIOS中斷向用戶提供串行接口的通訊能力。在Windows環境下,C++的開發工具既沒有提供象DOS和BIOS中那樣專門的串行通訊控制方法,也不允許用戶直接控制串口的中斷。

為了保證資源共享,Windows系統完全接管了各種硬件資源,使用中斷來控制端口將破壞系統的多任務性,使系統的穩定性受到影響。但Windows同時也提供了功能強大的API函數使用戶能間接的控制串行通訊。

1、實現串行通訊的相關API函數

API函數不僅提供了打開和讀寫通訊端口的操作方法,還提供了名目繁多的函數以支持對串行通訊的各種操作。常用函數及作用如表5-1所示。

表5-1 常用串行通訊API函數及其作用

函數名 作用

CreateFile 打開串口

GetCommState 檢測串口設置

SetCommState 設置串口

BuilderCommDCB 用字符串中的值來填充設備控制塊

GetCommTimeouts 檢測通信超時設置

SetCommTimeouts 設置通信超時參數

SetCommMask 設定被監控事件

WaitCommEvent 等待被監控事件發生

WaitForMultipleObjects 等待多個被監測對象的結果

WriteFile 發送數據

ReadFile 接收數據

GetOverlappedResult 返回最後重疊(異步)操作結果

PurgeComm 清空串口緩沖區,退出所有相關操作

ClearCommError 更新串口狀態結構體,並清除所有串口硬件錯誤

CloseHandle 關閉串行口

2、打開串口

函數CreateFile原本用於打開文件,但它同樣可用於打開一個通信端口。與系統中其他對象一樣,通信端口也是用句柄來標識的。CreateFile函數返回被操作的通信端口句柄,其調用方法如下:

HANDLE CreateFile (

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved