【首页】Win32串口编程

企业新闻 | 2021-08-26

火狐体育直播|Win32串口编程Win32串口通信与16位串口通信有很大不同。在Win32下,可以用两种编程方式构建串口通信,一种是调用Windows的API函数,一种是使用ActiveX控件。用于API调用,可以精确控制串口通信机制,熟悉各种设备和权限灵活性,使用不同的流量控制开发串口通信。

下面说明串口操作人员的基本知识。关闭串口:用于CreateFile()函数关闭串口。关闭串口有两种方式,一种是非重叠的,一种是重叠的。

用于重叠关闭时,必要的方法有:HANDLEhCommhComm=CreateFile(gszPort,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE _ FLAG _ COMPLATED,0);if(HComm==INVALID _ HANDLE _ VALUE)//error opening port;中止配备串口:1。DCB配有DCB(DeviceControlBlock)结构,定义了串行通信设备的首页控制设置。

首页

很多最重要的设置都是在DCB结构中设置的,初始化DCB有三种方式。(1)通过GetCommState()函数获取DCB的初始值,用法如下:DCBdcb={ 0 };if(!GetCommState(hComm,& DCB))//Errorgetting currentdcbsettingssel//dcbisreadyfuse。(2)用BuildCommDCB()函数初始化DCB结构,填充dcb的波特率、奇偶类型、数据位和暂停位。

为流量控制成员函数设置默认值。它的用法是:DCBdcbfillment(& dcb,sizeof(dcb),0);dcb。

dcblenth=sizeof(dcb);if(!BuildCommDCB(9600,n,8,1,& dcb)){//COuntBuildThedCB。通常是带有communication specification string . return false的问题//;} }else//DCBisreadyforuse。

(3。(3)使用SetCommState()函数手动设置DCB的初始值。用法如下:DCBdcbfillment(& dcb,sizeof(dcb),0);if(!GetCommState(hComm,& dcb))//getcurrentcb//erroringtcommtestreturnfalse;//updatedcbrate . dcb . Baudrate=CBR _ 9600;//Setnewstate.if(!SetCommState(hComm,& DCB))//errorsentcommstate。communication s//PortHandLoraProblems with ed CBstructureTself可能有问题。

火狐体育直播

当手动设置dcb值时,dcb结构的每个成员的含义可以在MSDN援助中找到。_火狐体育直播。

本文来源:火狐体育-www.sierrapol.com