C串口之DCB结构详解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C串口之DCB结构详解

?串口之DCB结构体详解标签:?串口DCB2015-08-18 09:03?1943人阅读?评论(0)?收藏?举报?分类:MFC(16)??C++(259)?版权声明:本文为博主原创文章,未经博主允许不得转载。DCB结构详细说明:?typedefstruct _DCB { DWORD DCBlength; DWORD BaudRate; DWORD fBinary: 1; DWORD fParity: 1; DWORD fOutxCtsFlow:1; DWORD fOutxDsrFlow:1; DWORD fDtrControl:2; DWORD fDsrSensitivity:1; DWORD fTXContinueOnXoff:1; DWORD fOutX: 1; DWORD fInX: 1; DWORD fErrorChar: 1; DWORD fNull: 1; DWORD fRtsControl:2; DWORD fAbortOnError:1; DWORD fDummy2:17; WORD wReserved; WORD XonLim; WORD XoffLim; BYTE ByteSize; BYTE Parity; BYTE StopBits; charXonChar; charXoffChar; charErrorChar; charEofChar; charEvtChar; WORD wReserved1; } DCB; DCBlengthDCB结构大小,即sizeof(DCB),在调用SetCommState来更新DCB前必须作设置?BaudRate ?指定当前采用的波特率,应与所连接的通讯设备相匹配?fBinary ?指定是否允许二进制模式。Win32 API不支持非二进制模式传输,应设置为true?fParity ?指定奇偶校验是否允许,在为true时具体采用何种校验看Parity 设置?Parity ? ?指定端口数据传输的校验方法。以下是可取值及其意义:?? ? ? ?取值 ? ? ? ?意义?? ? EVENPARITY ? ?偶校验?? ? MARKPARITY ? ?标记校验,所发信息帧第9位恒为1?? ? NOPARITY ? ? ?无校验?? ? ODDPARITY ? ? 奇校验?StopBits指定端口当前使用的停止位数,可取值:?? ? ? 取值 ? ? ? ? 意义?? ? ONESTOPBIT ? ?1停止位?? ? ONE5STOPBITS ?1.5停止位?? ? TWOSTOPBITS ? 2停止位?fErrorChar该值为TRUE,则用ErrorChar指定的字符代替奇偶校验错误的接收字符?ErrorChar ?指定ErrorChar字符(代替接收到的奇偶校验发生错误时的字节)?EvtChar ? ?当接收到此字符时,会产生一个EV_RXFLAG事件,如果用SetCommMask函数中指定了EV_RXFLAG ,?? ? ? ? ? ? 则可用WaitCommEvent 来监测该事件?EofChar ? ?指定用于标示数据结束的字符?fNull ? ? ?为TRUE时,接收时自动去掉空(0值)字节?fAbortOnError读写操作发生错误时是否取消操作。若设置为true,则当发生读写错误时,将取消所有读写操作?? ? ? ? ? ? ? (错误状态置为ERROR_IO_ABORTED),直到调用ClearCommError函数后才能重新进行通讯操作?fOutxCtsFlow是否监控CTS(clear-to-send)信号来做输出流控。当设置为true时:?? ? ? ? ? ? ? ?若CTS为低电平,则数据发送将被挂起,直至CTS变为高。?? ? ? ? ? ? ? ?CTS的信号一般由DCE(通常是一个Modem)控制,DTE(通常是计算机)发送数据时监测CTS信号。?? ? ? ? ? ? ? ?也就是说DCE通过把CTS置高来表明自己可以接收数据了?fRtsControl设置RTS (request-to-send)流控,若为0则缺省取 RTS_CONTROL_HANDSHAKE。可取值及其意义:?? ? ? ? ? ? 取值 ? ? ? ? ? ? ? ? ? ? ?意义?? ? ? RTS_CONTROL_DISABLE 打开设备时置RTS信号为低电平,应用程序可通过调用?? ? ? EscapeCommFunction函数来改变RTS线电平状态?? ? ? RTS_CONTROL_ENABLE 打开设备时置RTS信号为高电平,应用程序可通过调用?? ? ? ? ?

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档