文档详情

C#调用API串口通信.doc

发布:2018-12-27约1.86万字共13页下载文档
文本预览下载声明
HYPERLINK /wzwind/article/details/1898454 c#调api串口通信 分类: HYPERLINK /wzwind/article/category/327765 C# 在调试ICU通信设备的时候,由于串口通信老出现故障,所以就怀疑CF实现的SerialPort类是否有问题,所以最后决定用纯API函数实现串口读写。 先从网上搜索相关代码(关键字:C# API 串口),发现网上相关的资料大约来源于一个版本,那就是所谓的msdn提供的样例代码(msdn的具体出处,我没有考证),其它的代码大都是它的变种。 其实这个示例代码是有问题的,也就是说DCB结构体声明的有问题,虽然该代码可以正常通信,不过如果你设置了奇偶校验的话,你会发现奇偶校验无效。 VC中的DCB结构声明如下: typedef struct _DCB { ??? DWORD DCBlength;????? /* sizeof(DCB)???????????????????? */ ??? DWORD BaudRate;?????? /* Baudrate at which running?????? */ ??? DWORD fBinary: 1;???? /* Binary Mode (skip EOF check)??? */ ??? DWORD fParity: 1;???? /* Enable parity checking????????? */ ??? DWORD fOutxCtsFlow:1; /* CTS handshaking on output?????? */ ??? DWORD fOutxDsrFlow:1; /* DSR handshaking on output?????? */ ??? DWORD fDtrControl:2;?/* DTR Flow control??????????????? */ ??? DWORD fDsrSensitivity:1; /* DSR Sensitivity????????????? */ ??? DWORD fTXContinueOnXoff: 1; /* Continue ??? DWORD fOutX: 1;?????? /* Enable output X-ON/X-OFF??????? */ ??? DWORD fInX: 1;??????? /* Enable input X-ON/X-OFF???????? */ ??? DWORD fErrorChar: 1;?/* Enable Err Replacement????????? */ ??? DWORD fNull: 1;?????? /* Enable Null stripping?????????? */ ??? DWORD fRtsControl:2;?/* Rts Flow control??????????????? */ ??? DWORD fAbortOnError:1; /* Abort all reads and writes on Error */ ??? DWORD fDummy2:17;??? ?/* Reserved??????????????????????? */ ??? WORD wReserved;?????? /* Not currently used????????????? */ ??? WORD XonLim;????????? /* Transmit X-ON threshold???????? */ ??? WORD XoffLim;???????? /* Transmit X-OFF threshold??????? */ ??? BYTE ByteSize;?????? ?/* Number of bits/byte, 4-8??????? */ ??? BYTE Parity;????????? /* 0-4=None,Odd,Even,Mark,Space??? */ ??? BYTE StopBits;??????? /* 0,1,2 = 1, 1.5, 2?????????????? */ ??? char XonChar;???????? /* Tx and Rx X-ON character??????? */ ??? char XoffChar;?????? ?/* Tx and Rx X-OFF character?????? */ ??? char ErrorChar;?????? /* Error replacement char????????? */ ??? char EofChar;???????? /* End of
显示全部
相似文档