VIX1314 2017-01-04 03:58 采纳率: 12.5%
浏览 1410

关于C#串口接收单片机返回的反馈码

图中的串口测试工具可以接收到一条反馈码,我自己写的winform却接收不到,哪位大神了解串口工具的源码或者知道我的代码怎么改嘛,哪位大神指点一下,万分感谢!
int n = sc._serialPort.BytesToRead;
StringBuilder builder=new StringBuilder();
byte[] rec = new byte[n]; //新建一个接受数组
sc._serialPort.Read(rec, 0, n); //将串口接收到的数据写入接收数组
//sc.DataReceived(object sender, EventArgs e, rec);
builder.Append(Encoding.ASCII.GetString(rec));
这个是我自己写的,获取不到东西,还有一个是别人提供的写好的
public SerialPort _serialPort = null;
//定义委托
public delegate void SerialPortDataReceiveEventArgs(object sender, SerialDataReceivedEventArgs e, byte[] bits);
//定义接收数据事件
public event SerialPortDataReceiveEventArgs DataReceived;

            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);
            //a += _data.Length;
            //rec += System.Text.Encoding.Default.GetString(_data)+_data.Length;
        }
    }
            可是这两种都接收不到东西,请大神指教一下我应该怎么改写这两个函数或者是怎样写
  • 写回答

2条回答

  • Tiger_Zhao 2017-01-04 05:42
    关注

    串口属于独占模式,同一时刻只能被一个程序打开。
    你运行程序前关闭了测试工具没?

    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入