日期:2014-05-18 浏览次数:21524 次
                        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;