问一下用C#的serialport控件如何实现点击各个button 在对应的textbox中显示接收的数据呀
比如点击获取高度通过serialport发送一串数据然后在旁边对应的textbox中显示接收回来的数据...
比如点击获取高度通过serialport发送一串数据
然后在旁边对应的textbox中显示接收回来的数据 展开
然后在旁边对应的textbox中显示接收回来的数据 展开
2个回答
展开全部
SerialPort port = new SerialPort();
port.PortName = "COM1";
byte[] sendCmd = Encoding.UTF8.GetBytes("要发送的命令");
port.Write(sendCmd, 0, sendCmd.Length);
string Res = port.ReadLine();
//分析res 得到结果显示出来 根据返回方式的不同你也能可需要用 port.ReadByte();来1个1个byte读取
port.PortName = "COM1";
byte[] sendCmd = Encoding.UTF8.GetBytes("要发送的命令");
port.Write(sendCmd, 0, sendCmd.Length);
string Res = port.ReadLine();
//分析res 得到结果显示出来 根据返回方式的不同你也能可需要用 port.ReadByte();来1个1个byte读取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用过这个控件但是我不知道你问的是和serialport通信问题还是将数据显示到textbox问题还是数据如何对应的问题?
更多追问追答
追问
可是我确实没法用委托做到在不同的textbox中显示啊
在designer.cs里有这么一行代码
this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.textbox1_DataReceived);
这个只能指定一个textbox
我觉得问题是在这里
我想问问你有没有相应的代码参考一下呢
我邮箱zyseap@163.com 谢谢了!
追答
你这个。。我觉得思路不对。貌似你用的数据绑定?
我觉得你应该this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
然后自己定义这个serialPort1_DataReceived函数。
显示的时候用this.invoke(new Action(()=>{
//在这里更改你的textbox的值就应该可以了
}));
上边代码个别拼写可能存在问题。智能提示纠正一下即可。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询