毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

C++数据采集系统打印软件设计(5)

时间:2018-03-13 13:40来源:毕业论文
DCB dcb; //数据控制块结构的定义 GetCommState( hCom, dcb); //串口原来的参数设置的读取 BuildCommDCB( COM1:9600, N, 8,1, dcb);//数据控制块DCB结构的创建 SetComm State( hCom


     DCB dcb; //数据控制块结构的定义
     GetCommState( hCom, & dcb); //串口原来的参数设置的读取
     BuildCommDCB( "COM1:9600, N, 8,1", & dcb);//数据控制块DCB结构的创建
     SetComm State( hCom, & dcb) ; //结构DCB的主要参数设置到COM1
    (4)API函数用来读写串口
    完成初始化工作之后,win32提供了WriteFile()与ReadFile()两个函数,它们可以帮助用来读取各种相关信息。可以采用WaitForSingleObject()来等待信号的结束并完成最长等待时间的设置,部分代码如下:
    BOOL bReadStatus;
bReadStatus=ReadFile( m_hComm,buffer,dwBytesRead,&dwBytesRead,   
&m_OverlappedRead );
    if(!bReadStatus )
    {
    if( GetLastError()==ERROR_IO_PENDING )
    {
    WaitForSingleObject(m_OverlappedRead.hEvent,1000 );
    return (int)dwBytesRead;
    }
    return 0;
    }
    return (int)dwBytesRead;
    (5)API函数用来关闭串口
    因为串口不可以同时共用,所以每次调用后需要关闭。CreateFile( )返回值不是0, 就表示调用成功。
    调用CloseHandle()函数来关闭串口。例如:
    ……
    CloseHandle ( m_hComm ); // 关闭串口,m_hComm是打开串口时返回的句柄
    ……[18]
2.4.2.2  MSComm 控件的运用来编程实现串口通信
    通信控件MSComm(Microsoft Communication Control)是微软针对组件对象模型(COM)开发的事件驱动的全双工高级通信接口, 作为一个用于串行通信编程的Active控件, 它具有良好的稳定性以及运行效率。 C++数据采集系统打印软件设计(5):http://www.youerw.com/tongxin/lunwen_10965.html
------分隔线----------------------------
推荐内容