为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

timer控件适宜不适合

2018-02-21 2页 doc 13KB 6阅读

用户头像

is_266065

暂无简介

举报
timer控件适宜不适合timer控件适宜不适合 timer控件适合不适合 先讲一下,我得到的数据全是机器产生的,间隔一段时间发送一次数据,数量比较大 代码贴一部分: C# code if (serialPort1.IsOpen) { rxByteLength = serialPort1.BytesToRead;//获得长度 if (rxByteLength 0) { rxBytes = new byte[rxByteLength]; serialPort1.Read(rxBytes, 0, rxByteLength);//存至...
timer控件适宜不适合
timer控件适宜不适合 timer控件适合不适合 先讲一下,我得到的数据全是机器产生的,间隔一段时间发送一次数据,数量比较大 代码贴一部分: C# code if (serialPort1.IsOpen) { rxByteLength = serialPort1.BytesToRead;//获得长度 if (rxByteLength 0) { rxBytes = new byte[rxByteLength]; serialPort1.Read(rxBytes, 0, rxByteLength);//存至数组 rxNumber += rxByteLength;//rx计数器加1 textBoxRx.Text = RX: + rxNumber.ToString();//显数计数 if (button停止显示.Text == 停止显示 ) { if (checkBox16进制显示.Checked) { for (int i = 0; i rxByteLength; i++) { rxString += rxBytes[i].ToString( x2 ).ToUpper() + ;//转为string check01(rxBytes[i].ToString( x2 ).ToUpper() + ); //check01(this.textBox接收.Text); } } 这里面我用的是一个timer控件,当这句话check01(rxBytes[i].ToString( x2 ).ToUpper() + ); 的时候就是把发过来的数据一组组的check01方法操作,可是好像根本就没用到这个方法,也就是没执行,如果我用check01(this.textBox接收.Text); 的时候就是把接受的数据从头读一遍的时候,check方法就发生了作用。这是什么原因,是 不是timer控件跟不上传过来的数据的速度, ------解决方案-------------------------------------------------------- 首先,如果你使用WinForm的Timer,那么这个Timer只是一个由WM_TIMER消息中断引发 的,它不是 真正的线程控制方式,它不可重入的,如果上一次Timer没有执行完成则下一次被迫等待 你可以使用System。Timer计时器,它是基于线程,可以重入的。
/
本文档为【timer控件适宜不适合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索