moble6 读电子称问题。
moble6系统连接电子称
我写的系统打开串口后。读取电子称的数据没有问题。但是电子称上数据有变化时,系统里面的数据不会变化。只有关闭系统后,在打开串口,才能读取到新的数据。下面是源码:
请各位大侠帮助一下。
private String strReceive;
public delegate void InvokeDelegate();
public void Display()//--把数据传到listview中
{
string zs = "";
string xs = "";
ListViewItem ps = new ListViewItem();
zs = strReceive.Substring(4, 4).ToString();
xs = strReceive.Substring(8, 2).ToString();
ps.Text = int.Parse(zs.ToString()).ToString() +"." + xs.ToString();
// ps.Text = strReceive.ToString();
tbReceive.Items.Clear();
tbReceive.Items.Add(ps);
sp.Close();
sp.Open();
}
private void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)//接收数据
{
int int_len = sp.BytesToRead;
char[] bytes = new char[int_len];
sp.Read(bytes, 0, int_len);
for (int i = 0; i < bytes.Length; i++)
{
strReceive += bytes[i].ToString();
}
strReceive += "";
tbReceive.BeginInvoke(new InvokeDelegate(Display));
}
先拜谢了。
[解决办法]
没有进行实时的更新。。
[解决办法]
这个问题,和代码没什么关系,关键在电子称在数据变化时,有没有实时将数据送到串口。
[解决办法]
如果电子称实在没有,就只能采用查询的方式来实现
[解决办法]
是呀,你的电子秤有数据时,有实时发送到你的系统吗?然后你的系统有实时接收并处理的线程吗?