问题描述
我用3个Button实现初始化发送接受的功能初始化serialPort1.PortName="com1";//选择串口COM1serialPort1.BaudRate=9600;//设置通信口参数serialPort1.DataBits=8;//数据位serialPort1.Parity=Parity.None;//校验位 NoneserialPort1.StopBits=StopBits.One;//停止位1位发送byte[]bytesData={123,23};if(!serialPort1.IsOpen){serialPort1.Open();serialPort1.Write(bytesData,0,bytesData.Length);}接受byte[]b=newbyte[serialPort1.BytesToRead];serialPort1.Read(b,0,b.Length);serialPort1.Close();问题1:我想问下高手为什么我在接受的时候b里没有数据呢?问题2:如果我要发送并接受这样一串数据$GPRMC,013946.00,A,3337.3186,N,11900.4483,E,0.05,218.30,111105,4.5,W,A*20..这样定义byte[]bytesData={$GPRMC,013946.00,A,3337.3186,N,11900.4483,E,0.05,218.30,111105,4.5,W,A*20..};就会出错为什么
解决方案
解决方案二:
用个串口监视工具看下实际发出和接收到的信息看看先。关注中。
解决方案三:
串口监视工具监示数据是否发出,你是用的一个串口短接来调试的吗?问题2:byte[]bytesData={$GPRMC,013946.00,A,3337.3186,N,11900.4483,E,0.05,218.30,111105,4.5,W,A*20..};这样当然会出错,你数组里的每一个元素都不是字节.