2 vix1314 VIX1314 于 2017.01.03 15:10 提问

关于C#串口接收单片机返回的反馈码
  public string rec="1";//定义全局变量
        void _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        if (DataReceived != null)
        {
            byte[] _data = new byte[_serialPort.BytesToRead];
            _serialPort.Read(_data, 0, _data.Length);
            DataReceived(sender, e, _data);
            rec += System.Text.Encoding.Default.GetString(_data)+_data.Length;
        }
    }
            这个是串口通信的类,会在另一个类中调用,现在需要接收单片机返回的反馈码并显示在程序
            SerialClass sc = new SerialClass();
                    sc.setSerialPort();
                    sc.openPort();
                    byte[] open16 = sc.StrToBytes(open);
                    sc.writeData(open16);
                    if (sc.rec != null)
                    {
                        string rec = sc.rec;
                        str += "您的开锁反馈码为:" + rec + "\r\n";
                    }
                    else
                    {
                        str += "没有开锁反馈码!"+"\r\n";
                    }
                    sc.closePort();
                                            但是测试好像是没有反馈码,请大神指点一下应该怎样改,在线等!

1个回答

caozhy
caozhy   Ds   Rxr 2017.01.03 17:39

用串口调试助手先调试,确保你的发送接收没有问题。C#串口接收数据的方法是标准的,不管你是不是什么反馈码

VIX1314
VIX1314 而且这个串口数据接收事件接收不到数据,我都想把串口测试工具反编译了直接用里边的方法了,这个方法应该怎样写啊
11 个月之前 回复
VIX1314
VIX1314 串口测试工具在发送指令后有反馈码,但是程序里边没有
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!