日期:2014-05-18 浏览次数:21515 次
while (timeRemain > 0)
{
if (serialPort.BytesToRead >= BYTE_COMM_FRAME_FIX)
{
break;
}
if (bStop)
{
break;
}
Thread.Sleep(50);
timeRemain -= 50;
}
ReadSize = serialPort.BytesToRead;
serialPort.Read(Read_Buffer, 0, ReadSize);
------解决方案--------------------
check A_Port(Rxd) and B_Port(Txd) connected .
------解决方案--------------------
应该不是硬件原因
使用
public SerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits);
这个构造函数,确保校验位、数据位和停止位等参数正确
看你的串口调试工具是否要求设置SerialPort的DtrEnable、RtsEnable和Handshake
也可以双方都使用你C#编写的串口程序进行通讯,或可避免某些设置
主要还是自己调试了,其它人很难猜测
------解决方案--------------------
为什么不利用serialPort已有的事件来写接收呢?
------解决方案--------------------
RtsEnable=true;