C调用API串口通信.docVIP

  • 4
  • 0
  • 约1.84万字
  • 约 13页
  • 2016-09-21 发布于重庆
  • 举报
C调用API串口通信

c#调api串口通 分类: 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 TX when Xoff sent */ ??? 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 Input character????????? */ ??? char EvtChar;???????? /* Received Ev

文档评论(0)

1亿VIP精品文档

相关文档