在Windows10系统中使用系统自带的控件SerialPort,通过串口发送数据,但仪器好像接收不到,没有返回数据.使用串口调试工具发送相同的字节,则仪器可以接收到并返回数据.
波特率及相关设置都一样,均为4800,N,8,1
但在windows7下相同的程序没有问题,仪器可以返回数据.
这是发送数据的代码如下:
serialPort1.BaudRate = 4800;
serialPort1.DataBits = 8;
serialPort1.StopBits = System.IO.Ports.StopBits.One;
serialPort1.Parity = System.IO.Ports.Parity.None;
serialPort1.Open();
byte[] tbyte= new byte[] { 0xAA ,00 ,0x31 ,00 ,00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ,00,0xDB };
serialPort1.Write(tbyte, 0, tbyte.Length);
请各位大侠,帮助解决!
多谢!
硬件最好用PCI串口卡,USB转串口的不是很好用.定义delegate发送,接收
初始化串口的时候怎么不设置超时?
根据我一些项目的经验,不设置超时应该是不可以的。
PortName = portName,
BaudRate = 38400,
DataBits = 8,
Parity = Parity.None,
StopBits = StopBits.One,
Handshake = Handshake.None,
** ReadTimeout = 1000,**
** WriteTimeout = 1000**