




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DWORD DCBlength;sizeof(DCB)DWORD BaudRate;current baud rate指定当前的波特率DWORD fBinary: 1;binary mode, no EOF check指定是否允许二进制模式WIN95中须为TRUEDWORD 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之后便停止发送/FALSE时,接收到XonChar之后将重新开始DWORD fInX: 1;/ XON/XOFF in flow controlTRUE时,接收缓冲区接收到代表缓冲区满的XoffLim之后,XoffChar发送出去接收缓冲区接收到代表缓冲区空的XonLim之后,XonChar发送出去DWORD fErrorChar: 1;/ enable error replacement该值为TRUE且fParity为TRUE时,用ErrorChar 成员指定的字符代替奇偶校验错误的接收字符DWORD fNull: 1;/ enable null strippingTRUE时,接收时去掉空(0值)字节DWORD fRtsControl:2;RTS flow controlDWORD fAbortOnError:1;abort reads/writes on errorTRUE时,有错误发生时中止读和写操作RTS_CONTROL_DISABLE时,RTS置为OFFRTS_CONTROL_ENABLE时, RTS置为ONRTS_CONTROL_HANDSHAKE时,当接收缓冲区小于半满时RTS为ON当接收缓冲区超过四分之三满时RTS为OFFRTS_CONTROL_TOGGLE时,当接收缓冲区仍有剩余字节时RTS为ON ,否则缺省为OFFDWORD fDummy2:17;reserved未使用WORD wReserved;not currently used未使用,必须为0WORD 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,ODDPARITYBYTE StopBits;0,1,2 = 1, 1.5, 2 指定端口当前使用的停止位数,可能为:ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITSchar 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 未使用在这个结构中, 共有28个变量, 我把这些成员归类为几种. 1. 串口的基本设置1) DWORDBaudRate; 波特率设置。 2)BYTEByteSize; 数据位设置。3)DWORDfParity:1; TRUE时, 支持奇偶检验。4) BYTEParity; 奇偶检验位的设置5)BYTEStopBits; 停止位的设置2. 流控制(Flow Control) 的设置 流控制分为硬件流控制和软件流控制。 而硬件流控制又分为RTS/CTS和DTR/DSR两种。而软件流控制, 则是Xon/Xoff。DTR/DSR硬件流控制:1) DWORDfOutxDsrFlow:1;TRUE时,支持DSR流控制。当DSR为OFF时,停止发送。 2) DWORDfDtrControl:2; DTR设置。 (置高/置低.) 3) DWORDfDsrSensitivity:1;TRUE时,当DSR为OFF,则接收端忽略所有字符。 RTS/CTS 硬件流控制:4) DWORDfOutxCtsFlow:1;TRUE时,支持CTS流控制。 当CTS为OFF时,停止发送。 5) DWORDfRtsControl:2;RTS设置。 (置高/置低.) Xon/Xoff软件流控制:6)DWORDfOutX:1; 发送端支持Xon/Xoff。 7) DWORDfInX:1; 接收端支持Xon/Xoff。 8) WORDXonLim;当接收Buffer中的字符减少小XonLim规定的字符数, 就发送Xon字符,让对方继续发送。 9) WORDXoffLim; 接收Buffer达到XoffLim规定的字符数, 就发送Xoff字符, 让对方停止发送。10)charXonChar; Xon 字符。 11)charXoffChar; Xoff 字符。12)DWORDfTXContinueOnXoff:1;TRUE时,不管接收端是否Xoff,本方发送端持续发送。 (也就是本方的发送端, 与本方接收端Xon/Xoff是相互独立的)。若为False 时,则当接收端buffer达到XoffLim时,发送端发送完Xoff字符后,就停止发送。 3.Error 情况处理 1)DWORDfErrorChar:1; TRUE时,若fParity为TRUE, 则用ErrorChar替换Parity Check错误的字符。 2) DWORDfAbortOnError:1;TRUE时,发生错误时停止读写操作。3) charErrorChar; Parity Check 错误时,替换的字符。 4.其他参数 1) DWORDDCBlength; DCB结构的长度(以字节为单位) 2) DWORDfBinary:1; 二进制模式。(必须为1 )3) DWORDfNull:1;TRUE时,接收时去掉空字节(0x0) 4) charEofChar; EOF替代字符5)charEvtChar; 事件触发字符6)DWORDfDummy2:17; 保留7) WORDwReserved; 保留8) WORDwReserved1;保留在WIN32 API编程中,除了DCB结构之外,还需要了解COMMTIMEOUTS结构.这个结构是为了读写串口的超时而设置的. COMMTIMEOUTS结构如下: typedef struct _COMMTIMEOUTS DWORD ReadIntervalTimeout; /任意相邻连个字符之间的超时设置 DWORD ReadTotalTimeoutMultiplier; /读操作总的超时时间的系数 DWORD ReadTotalTimeoutConstant; /读操作总的超时时间的修正常量 DWORD WriteTotalTimeoutMultiplier; /写操作总的超时时间的系数 DWORD WriteTotalTimeoutConstant; /写操作总的超时时间的修正常量 COMMTIMEOUTS,*LPCOMMTIMEOUTS; ReadIntervalTimeout:两相邻字符之间最大的延时。当读串口数据时,一旦两个字符传输的时间间隔超过该时间,读函数将返回现有的数据。设置为0表示该参数不起作用。 ReadTotalTimeoutMultiplier:读操作总的超时事件的系数。这个变量是不能单独使用的。 必须和ReadTotalTimeoutConstant 一起使用才有效果。 ReadTotalTimeoutConstant:读操作总的超时时间的修正常量。 这个变量也是不能单独使用的。必须和ReadTotalTimeoutMultiplier一起使用才有效果。 WriteTotalTimeoutMultiplier:写操作总的超时事件的系数。这个变量是不能单独使用的。 必须和WriteTotalTimeoutConstant 一起使用才有效果。 WriteTotalTimeoutConstant:写操作总的超时时间的修正常量。 这个变量也是不能单独使用的。必须和WriteTotalTimeoutMultiplier一起使用才有效果。 在整个串口的读写操作中, 存在着两种超时设置。一种是间隔超时, 一种是总超时。 这两种超时是独立存在,互不影响的。 间隔超时, 只在读操作中存在。就是ReadIntervalTimeout。 当读操作中,前后两个字符之间的时间间隔超过时,读操作就结束了。举例来说,你一次读取8个字符,但是在你读取了第一个字符之后,在读取第二个字符时,间隔超时了,那么读操作就结束了, 这样整个操作就只读取了1个字节。即使, 你的总时间没有超时。 另一种超时,就是总超时。 这里有一个公式。 总的读/写超时时间 = Read(Write)TotalTimeoutMultiplierx要读/写的字节数 + Read(Write)TotalTimeoutConstant. 这里要说明的一点,要读/写的字节数是从哪里来的。 这个是从ReadFile 或者WriteFile 函数中定义的。 在读操作时, 若当前所花读取时间已经超过了总的超时设置, 则读操作就结束了。即使, 每两个字符之间的间隔没有超时。 举例来说, 若总共读取8个字节。 间隔设置为8ms, 总超时系数为3ms,总超时常数为3ms。 则总的超时时间为3*8+3=27ms。若每个字符读取的间隔为7ms, 则这次操作总共能读取4个字符。 就结束了。因为读取第5个字符时, 已经需要35ms, 超过总超时时间了。下面来讨论一下这几个参数的设定:将ReadIntervalTimeout设置为MAXDWORD,将ReadTotalTimeo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆市广大农业科技有限公司招聘3人笔试历年参考题库附带答案详解
- 2025重庆发展能源有限公司招聘10人笔试历年参考题库附带答案详解
- 2025辽宁宽甸汇鑫城市建设发展集团有限公司面向社会招聘5人笔试历年参考题库附带答案详解
- 2025贵州黔东南州岑巩县浩达粮油购销有限责任公司招聘2人笔试历年参考题库附带答案详解
- 2025贵州省农商旅发展有限责任公司项目管理员招聘1人笔试历年参考题库附带答案详解
- 2025贵州毕节市工业能源投资建设有限公司招聘20人(第二批)笔试历年参考题库附带答案详解
- 2025年杭州市上城区望江街道社区卫生服务中心招聘编外1人模拟试卷附答案详解(黄金题型)
- 2025福建泉州交发集团所属3家企业招聘14人笔试历年参考题库附带答案详解
- 2025福建厦门市市政工程设计院有限公司校园招聘笔试历年参考题库附带答案详解
- 2025浙江台州市温岭市金港产城融合发展有限公司招聘1人笔试历年参考题库附带答案详解
- 第2课《中国人首次进入自己的空间站》课件+2025-2026学年统编版语文八年级上册
- 私营医院市场营销部升职晋升管理体系
- 2025至2030中国铷/铯及其化合物行业项目调研及市场前景预测评估报告
- 国库账户管理办法
- 工装租借管理办法
- 2025年上海市中考语文试卷真题(含答案及解析)
- JG/T 296-2010空气吹淋室
- T/CBMCA 020-2021地铺石瓷砖
- 2025年青岛市局属公办高中自主招生化学试卷试题(含答案解析)
- 高级日语(一)(含课后习题参考答案)
- 学校净水器租售合同协议
评论
0/150
提交评论