ClearCommError()函数

清除串行端口错误或读取串行端口现在的状态时,可用函数ClearCommError。Windows系统利用此函数清除硬件的通讯错误以及获取通讯设备的当前状态

ClearCommError()函数原型

1

2

3

4

5

BOOL ClearCommError(

HANDLE hFile,   //通信设备的句柄

LPDWORD lpErrors,//接收错误代码变量的指针

LPCOMSTAT lpStat  //通信状态缓冲区的指针

);

ClearCommError()函数参数说明:

  • hFile:串行端冂的Handle值,此值即为使用CreateFile函数后所返回的值。
  • lpError:返回错误数值,错误常数如下:
    CE_BREAK:检测到中断信号。
    CE_DNS:Windows95专用,未被选择的并行端口。
    CE_FRAME:硬件检到框架错误
    CE_IOE:通信设备发生输入/输出綹误,
    CE_MODE:设置模式错误,或是hFile值错误。
    CE_OOP:Wmdows95专用,并行端口发生缺纸错误。CE_OVERRUN:缓冲区容量不足,数据将遗失。
    CE_PTO:Windows95专用,并行端口发生超时错误。
    CE_RXOVER:接收区满溢或在文件结尾被接收到后仍有数据发送过来。
    CE_RXPARITY:硬件检测到校验位检查错误。
    CE_TXFULL:发送缓存区已满后,应用程序仍要发送数据。
  • lpStat:指向通信端口状态的结构变量。此结构的原始声明如下:
    _COMSTAT结构定义

    C

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    typedef struct _COMSTAT {  //cst

    DWORD fCtsHold : 1;  //Tx正在等待CTS信号

    DWORD fDsrHold : 1;  //Tx正在等待DSR信号

    DWORD fRlsdHold : 1; //Tx正在等待RLSD信号

    DWORD fXoffHold : 1;  //Tx由于接收XOFF字符而在等待

    DWORD fXoffSent : 1;   //Tx由于发送XOFF字符而在等待

    DWORD fEof : 1;      //发送EOF字符

    DWORD fTxim : 1;     //字符在等待Tx

    DWORD fReserved : 25;   //保留

    DWORD cbInQue;    //输入缓冲区中的字节数

    DWORD cbOutQue;     //输出缓冲区中的字节数

    } COMSTAT, *LPCOMSTAT;

    此结构屮有关参数说明如下:
    fCtsHold:是否正在等待CTS信号。占一个位的位置。
    fDsrHold:是否正在等待DSR信号。占一个位的位置。
    fRlsdHoId:是否正在等待RLSD信号。占一个位的位置。
    fXoftHoId:是否因收到xoff字符而在等待。占一个位的位置。
    fXoffHold:是否因送出xoff字符而使得发送的动作在等待。占一个位置
    cbInQue:在输入缓冲区尚未被ReadFile函数读取的数据字节数。这个参数经常被用来进行状态检查。
    cbOutQue:在发送缓冲区而尚未被发送的据字节数。

相关文章:

  1. GetCommState()函数

    GetCommState()函数功能,使用指定通信设备的当前控制设置填充设备控制块(DCB结构)...

  2. SetCommState()函数

    SetCommState()函数设置串行端口状态。如设置串口设置(波特率,校验,停止位,数据位等)....

  3. WriteFile()函数

    windows将串行端口当成文件来使用,因此写入串行端口数据的函数也是WriteFile。...

  4. ReadFile()函数

    windows将串行端口的使用当成文件,因此读取串行端口数据的函数亦使用读文件函数ReadFile....

  5. checkradiobutton()函数

    函数功能:该函数给一组单选按钮中的一个指定按钮加上选中标志,并且清除组中其他按钮的选中标志。函数原型:BOOL CheckRadioButtoh(HWNDhDlg, intnlDFirstButton, intnlDLastBUtton, intnlDCheckButton);...

  6. setcaretpos()函数

    函数功能:该函数将插入标记移动到指定的坐标上。如果拥有该插人标记的窗口是使用CS_OWNDC类样式创建的,那么指定的坐标依据与该窗口相关的设备环境的映射模式而定。函数原型:BOOL SetCaretPos(int X,int Y);...

  7. dlgdirselectex()函数

    函数功能:该函数从单选列表框中检取当前选择,列表框已经由DlgDirlist函数填充,并且选择内容为一个驱动器字母,文件名或目录名。函数原型:BOOL DlgDirSelectEx(HWND hDlg,LPTSTR lpString,int nCount,int nlDListBox);...

  8. pagesetupdlg

    函数功能:该函数创建一个PageSetup对话框,此对话框能使用户指定打印页的属性。这些属性包括纸张大小和来源,送纸方向和页边距。函数原型:BOOL PageSetupDlg(LPPAGESETUPDLGI ppsd);...

  9. frhookproc()函数

    函数功能:该函数是由应用程序定义或库定义的回调函数。它和FindText函数或Replace Text函数一定使用。挂钩函数接收用于Find或Replace公共对话框的缺省对话框函数的消息和通告。LPFRHOOKPROC类型定义了一个指向此回调函数的指针,FRHookProc是一个应用程序定义的函数名的位置持有者。数原型:UINT CALLBACK FRHookProc(HWND hdlg,UINT uiMsg WPARAM wParam,LPARAM IParam);...

  10. LoadCursorFromFile()函数

    函数功能:该函数根据一个文件中所含的数据创建光标。该文件由它的名字所指定或由一个系统光标鉴别器指定,该函数返回一个新建光标的句柄,文件所包含的光标数据可以是光标格式(CUR)或运动光标格式(.ANI)。函数原型:HCURSOR LoadCursorFromFile(LPCTSTR IpFileName);...

ClearCommError()函数相关推荐

  1. VB、WIN32API函数在串口操作模块的运用

    1.应用 1.1RegOpenKeyEx函数涉及注册表的相关知识,先了解注册表的作用及数据结构 注册表的作用 注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windo ...

  2. 基于API函数的串口通信(方法讲解)

    用到的串口通信编程方法有:使用通信控件.在高级语言中嵌入汇编以及使用API函数.在这几种方法中,使用API函数编写的串口通信程序最为高效.灵活.串口通信编程将用到三种API函数 --串口通信相关API ...

  3. VC5-高级音频函数

    2005-09-07 高级音频函数 - [VC专栏] 使用多媒体API,源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object ...

  4. VC串口通信编程-2

    VC串口通信编程 (2009-07-08 13:48:40) 转载▼ Win32串口编程(转:韩耀旭) 在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信 ...

  5. Win32SDK中(串行)通信资源概要(不断更新)

    说在前面的话: 该"概要"是我在学习Windows上的串口通信资源的时候顺便翻译的, 可能存在相当多的翻译得不正确的地方, 还有很多不妥的地方, 如果您觉得哪个地方出了问题, 请你 ...

  6. 串口通信模块3:串口通信编程基础(读写、关闭)

    上一节总结了如何打开串口并讨论了如何配置串口,本节是在上一节的基础上,进一步讨论串口编程的基础--如何进行文件读写?如何关闭串口? 1. 读写串口 串口的读写操作和文件的读写操作是一样的,也是通过Re ...

  7. Win32 串口编程(二)

    3 串口状态 有两种获取通信端口状态的方法.第一种方法是设置事件掩码,当指定事件发生时应用程序会收到通知.SetCommMask函数用于设置事件掩码,WaitCommEvent用于等待指定的事件发生. ...

  8. Win32 串口编程笔记1

    .打开和关闭串口 在Win32中,串口是作为文件处理的,使用CreateFile()函数可以打开串口,进行读写访问操作.CreateFile()返回串口句柄,可以在以后的端口操作中使用.关闭端口使用C ...

  9. C/C++串口通信原理及读写与操作

    http://wangbaiyuan.cn/c-serial-communication-write-reading.html [展开]文章目录 在工业控制中,工控机(一般都基于Windows平台)经 ...

最新文章

  1. 独家 | 什么是生成模型和GAN?一文体验计算机视觉的魔力(附链接)
  2. 赛迪研究院发布《2018年中国自动驾驶产业发展及投资价值白皮书》!
  3. python安装os模块_python的os模块(ipython,文件,目录,权限,管理)
  4. live555 源码分析: DESCRIBE 的处理
  5. java打印6个偶数_Java编写一个应用程序,打印所有偶数从2到100
  6. 调试实战 | 通过转储文件分析程序无响应之使用 windbg + IDA 逆向篇
  7. MySQL 性能监控 4 大指标
  8. 思科isis路由的优先级_华为 路由双点双向引入
  9. python xposed_GitHub - twqdev/CPWechatXposed: 使用Xposed Hook微信等APP
  10. STM32 影子寄存器
  11. 牛逼了,跨平台桌面端视频资源播放器,简洁无广告,免费高颜值
  12. JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
  13. 阿里数据师最爱用的图表特效,10分钟让可视化报告内涵又炫酷
  14. NUVOTON新唐单片机使用总结
  15. Python-day17
  16. 电脑屏幕亮度随背景颜色变化
  17. 配置PyCharm(背景色+字体大小+解释器选择)
  18. mysql update 多表更新_MySQL UPDATE多表关联更新
  19. docker 应用系列(一)--- 一步步搭建虚拟机 docker 环境 附有 vue-cli + nginx 应用...
  20. php-使用函数array_walk_recursive处理多维数组的键值后返回一个新数组

热门文章

  1. c语言 strchr 返回int,为什么strchr需要一个int来找到char?
  2. Scala-trait(特质)
  3. 什么是系统架构师,系统架构师应具备哪些能力?
  4. gta4光影补丁_GTA4低配置优化版ENB光影补丁
  5. python的udp攻击
  6. 如何在App过审之后进入解决方案中心
  7. wampserver mysql忘记密码_WampServer修改MySQL密码
  8. 一次耐人寻味的SQL优化:除了SQL改写,还要考虑什么?
  9. 吐槽达内这种培训机构的坑,鸡肋
  10. MSDM5051 Notes 1