串口通讯中的DCB结构

typedef struct _DCB {// dcb

DWORD DCBlength;

// sizeof(DCB)

DORD BaudRate; 

// current baud rate 指定当前的波特率


DWORD fBinary: 1; 

// binary mode, no EOF check 指定是否允许二进制模式WIN95中须为TRUE


DWORD fParity: 1; 

// enable parity checking 指定奇偶校验是否允许

DWORD fOutxCtsFlow:1;

// CTS output flow control 指定CTS是否用于检测发送控制。当为TRUE时CTS为

//   OFF,发送将被挂起。(发送清楚)

DWORD fOutxDsrFlow:1;

// DSR output flow control         指定CTS是否用于检测发送控制。

//(数据装备好)                         当为TRUE是CTS为OFF,发送将被挂起。

DWORD fDtrControl:2;

// DTR flow control type

//DTR_CONTROL_DISABLE值将DTR置为OFF,                                                                             //DTR_CONTROL_ENABLE值将DTR置为ON,                      DTR_CONTROL_HANDSHAKE 允许DTR"握手",

DWORD fDsrSensitivity:1;

// DSR sensitivity 当该值为TRUE时DSR为OFF时接收的字节被忽略

DWORD fTXContinueOnXoff:1; // XOFF continues Tx
指定当接收缓冲区已满,并且驱动程序已经发送出XoffChar字符时发送是否停止。
TRUE时,在接收缓冲区接收到缓冲区已满的字节XoffLim且驱动程序已经发送出XoffChar字                    符中止接收字节之后,发送继续进行。

FALSE时,在接收缓冲区接收到代表缓冲区已空的字节XonChar且驱动程序已经发送出恢复                    发送的XonChar之后,发送继续进行。

DWORD fOutX: 1; 

// XON/XOFF out flow control    TRUE时,接收到XoffChar之后便停止发送

接收到XonChar之后将重新开始

DWORD fInX: 1; 

// XON/XOFF in flow control

TRUE时,接收缓冲区接收到代表缓冲区满的XoffLim之后,XoffChar发送出去

接收缓冲区接收到代表缓冲区空的XonLim之后,XonChar发送出去

DWORD fErrorChar: 1; // enable error replacement

该值为TRUE且fParity为TRUE时,用ErrorChar 成员指定的字符代替奇偶校验错误的接收字符

DWORD fNull: 1;

// enable null stripping  TRUE时,接收时去掉空(0值)字节

DWORD fRtsControl:2;

// RTS flow control

DWORD fAbortOnError:1;

// abort reads/writes on error  TRUE时,有错误发生时中止读和写操作

RTS_CONTROL_DISABLE时,RTS置为OFF
RTS_CONTROL_ENABLE时, RTS置为ON
RTS_CONTROL_HANDSHAKE时,
当接收缓冲区小于半满时RTS为ON
当接收缓冲区超过四分之三满时RTS为OFF
RTS_CONTROL_TOGGLE时,

当接收缓冲区仍有剩余字节时RTS为ON ,否则缺省为OFF

DWORD fDummy2:17;

// reserved  未使用

WORD wReserved;

// not currently used  未使用,必须为0

WORD XonLim;

// transmit XON threshold

指定在XON字符发送这前接收缓冲区中可允许的最小字节数

WORD XoffLim;

// transmit XOFF threshold

指定在XOFF字符发送这前接收缓冲区中可允许的最小字节数

BYTE ByteSize; 

// number of bits/byte, 4-8  指定端口当前使用的数据位

BYTE Parity; 

// 0-4=no,odd,even,mark,space 指定端口当前使用的奇偶校验方法,可能为:

EVENPARITY,MARKPARITY,NOPARITY,ODDPARITY 


BYTE StopBits;                                               

0,1,2 = 1, 1.5, 2   指定端口当前使用的停止位数,可能为:

ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS

char XonChar;

// Tx and Rx XON character  指定用于发送和接收字符XON的值

char XoffChar;

// Tx and Rx XOFF character  指定用于发送和接收字符XOFF值

char ErrorChar;

// error replacement character本字符用来代替接收到的奇偶校验发生错误时的值

char EofChar;

// end of input character 当没有使用二进制模式时,本字符可用来指示数据的结束

char EvtChar;

// received event character 当接收到此字符时,会产生一个事件

WORD wReserved1;

// reserved; do not use 未使用

} DCB;

DCB(串口的DCB结构)相关推荐

  1. 串口流控制DCB结构体解析及设置

    一.串口通信结构体意义解析: typedef struct _DCB { DWORD DCBlength; DWORD BaudRate; //波特率 DWORD fBinary :1; DWORD ...

  2. 串口编程DCB结构体参数配置详细说明

    序号 字段 释义 1 DWORD DCBlength.: sizeof(DCB) 2 DWORD BaudRate; current baud rale指定当前的波特率 3 DWORD fBinary ...

  3. 串口之DCB结构体详解

    DCB结构详细说明: typedef struct _DCB { DWORD DCBlength; DWORD BaudRate; DWORD fBinary: 1; DWORD fParity: 1 ...

  4. linux启用dcb步骤,Linux DCB体系——简短概述

    本博文由Shyam Iyer和Ahmad Ali撰写. 当前的Linux 体系是多家供应商各自向Linux内核独立注入代码的结果.这些代码分别遵循各供应商的硬件策略,并由不同的维护人员提交到单独的子系 ...

  5. 串口之COMMTIMEOUTS结构体详解

    在用ReadFile和WriteFile读写串行口时,需要考虑超时问题.如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFile或WriteFile的操作就会结束.要查询当前的超时设置应调 ...

  6. linux串口编程-termios结构

    linux串口编程简单起来可以十分简单,但是复杂起来,也可以异常复杂.因为linux串口不仅仅是个串口,它跟终端联系起来.一般串口编程,绕不开的是struct termios结构体,其定义如下: #d ...

  7. 串口之OVERLAPPED结构体详解

    typedef struct _OVERLAPPED {  DWORD Internal;  DWORD InternalHigh;  DWORD Offset;  DWORD OffsetHigh; ...

  8. c++串口配置及DCB结构体

    typedef struct _DCB { DWORD DCBlength; DWORD BaudRate; //波特率设置 DWORD fBinary :1; //是否允许二进制模式 DWORD f ...

  9. 串口DCB定义,配置例程

    在应用WIN32 API 对串口进行编程时, 必定使用到 DCB 结构体. 转载链接 一.首先是DCB 结构 typedef struct _DCB { DWORD DCBlength; DWORD ...

最新文章

  1. 汤家凤高等数学基础手写笔记-极限与连续
  2. JVM - CMS深度剖析
  3. 新农人谋定新理念-农业大健康·李孟:“玩”出农业新花样
  4. axure菜单移动隐藏_如何使用隐藏的移动网络更快地完成工作
  5. ie8下a标签中的图片出现边框
  6. QT之tableWidget删除全部行
  7. sqlserver2010教程百度云盘_郝斌SqlServer2005自学全集视频教程
  8. LCM模组的简介与质量管理(连载四)
  9. ssm基于WEB的房屋出租管理系统的设计与实现161620
  10. 生物化学复习题I·蛋白质
  11. 去国外超市如何用英文表达你想要的东西?
  12. gcc/g++ 优化标识 -O1 -O2 -O3 -Os -Ofast -Og的作用
  13. ubuntu12.04.4安装tcl/tk和Tkinter
  14. 网络层路由选择协议(RIPOSF)
  15. 裂变是什么?如何让用户自行裂变?流程、细节大曝光
  16. Android 6.0 更新包与已安装应用的签名不一致
  17. 199美元的iPhone和磨刀霍霍的程序员
  18. .mat图像显示(MATLAB实现)
  19. 【PM】【进度】:把握项目节奏的方法
  20. java--五子棋人机大战--课程设计

热门文章

  1. (JAVA)List
  2. javagei图片设置热点_【物理考点】重磅押题: 2020高考物理必考热点+命题预测+例题解析, 快快快收藏!...
  3. 【OS学习笔记】六 实模式:编写主引导扇区代码
  4. 6.0动态加载权限用PermissionGen
  5. stringstream字符串流的妙用
  6. python开发学习笔记之六(面向对象)
  7. python里类的概念
  8. WebStorm 快捷键整理
  9. Silverlight HTML5 Flash - RIA技术之三足鼎立
  10. 利用div的定位制作复杂的页面布局