5.1.2.1 主要函数介绍 1).串口设备初始化 初始化函数首先获得串口设备句柄,然后对其进行通信参数设置,包抱设置输入/输出缓冲区大小、超时控制和事件监视等。其中用到的函数有: 打开串口函数: HANDLE CreateFile( LPCTSTR lpFileName,//被打开的串口名,如“COM1”、“COM2”等 DWORD dwDesiredAccess,//访问模式(读写模式) DWORD dwSharedMode,//共享模式 DWORD LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全描述符地址 DWORD dwCreationDistribute,//如何打开文件 DWORD dwFlagsAndAttributes,//文件属性, HANDLE hTemplateFile//模板文件句柄 ); 如果函数调用成功,则返回一个打开的串口句柄,否则返回INVALID_HANDLE_VALUE。 设置串口状态函数 先调用函数BOOL GetCommState(HANDLE hFile,LPDCB lpDCB)获得上面返回的串口句柄的确省dcb结构,修改相关参数后在调用 BOOL SetCommState(HANDLE hFile,LPDCB lpDCB) 函数完成对串口状态的设置。 其中,lpDCB是指向DCB结构的指针。DCB结构的参数项很多,主要包括波特率、数据位数、奇偶检验、停止位的设置等。如果函数调用成功则返回值为TRUE,否则返回值为FALSE。 缓冲区设置函数 可以调用下面的函数重新分配发送和接收缓冲区的大小。 BOOL SetupComm(HANDLE hFile,DWORD dwInQueue,DWORD dwOutQueue); 清除缓冲区函数 BOOL PurgeComm(HANDLE hFile,DWORD dwFlags) 如清除发送缓冲区,则参数dwFlags设置位PURGE_TX_CLEAR;如清除接收缓冲区,则参数dwFlags设为PURGE_RX_CLEAR。 创建监视事件函数 HANDLE CreateEvent(LPSECURITY_ATRRIBUTES lpEventAttributes,//事件的安全属性指针,为NULL时,不能被继承 BOOL bManualReset,//手工重置事件 BOOL bInitialState,//初始化状态, LPCTSTR lpName);//事件对象的指针 在程序中,创建了三个人工重置、没发信号的事件 线程创建函数 利用函数CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL )来创建线程函数。参数pfnThreadProc为全局函数名,pParam为传递给全
首页 上一页 15 16 17 18 19 20 下一页 尾页 18/20/20