|
小弟刚学C#,多线程和委托不懂,所以编写编程器软件很费力。
编程器使用串口上下位机通讯,处理串口接收数据超时,由于使用了Thread.Sleep(100),发现上位机串口在执行时,不能拖动。
bool received_flag = false;
while(true)
{
byte time_counter=0;
Thread.Sleep(100);//延时100ms
if(++time_counter>=20)
{
time_counter=0;
for (int i = 0; i < 3; i++)
{
Console.Beep(3000, 100);
Thread.Sleep(200);//延时200ms
}
StatusTextBox.Text = "超时!";
break;
}
else
{
if(received_flag ==true)//串口接收到数据
{
//未超时处理;
}
}
}
附上我的上位机界面图片:
我是写下位机,不要见笑我了。附上我的C#代码,很丑,
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|