小弟最近遇到个问题一直解决不了 望各位经验丰富的大神支招
我把登录窗体设为了父窗体 登录后弹出了一个子窗体 里面有其它功能运行正常
我在子窗体里面放了两个label来显示温度和湿度 如下图所示:
温度和湿度通过串口接收数据来显示 所以用了个串口的控件 每次接收4个字符 前2个温度 后2个湿度(10s会接收一次)
窗口接收数据的代码如下:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
byte[] data = new byte[serialPort1.BytesToRead];
serialPort1.Read(data, 0, data.Length);
if( data.Length == 4 )
{
string wendu = ((data[0] - '0') * 10 + (data[1] - '0')).ToString(); //温度 都是整数
string shidu = ((data[2] - '0') * 10 + (data[3] - '0')).ToString(); //湿度 都是整数
label28.Text = wendu; //温度显示的label
label29.Text = shidu; //湿度显示的label
}
serialPort1.DiscardInBuffer();
}
实际运行时发现,label上面的数字第一次接收显示是正确的,但是之后就不会再更新数据了
添加断点后发现串口接收的中断确实是10s会进入一次 数据正确接收 但是为什么label.Text显示不会更新呢?
求各位指点