文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SerialPort同步和异步数据读取

SerialPort同步和异步数据读取

时间:2010-11-01  来源:特务小强

这里没有考虑信息完整性的处理,接收信息的完整性包括你需预先知道接收字节的长度或结尾处的字节。

对于长度的完整性,你可以用同步方式接收数据,在从线程用serialPort.BytesToRead 判断累计接收字节的长度.

对于预先知道结尾处字节的完整性,你可以用serialPort.ReadTo (string value)方法读取数据(value为结尾处的字符串)

对于长度和结尾处字节不能确定信息的完整性处理,我的一种方法是用异步的方式,这种方法需事先估计出接收对方信息所需的时间,将此时间设置为从线程睡眠的时间。另一种方法是用同步方式接收,当SerialPort.ReadByte()方法阻塞到接收到初始始数据后,从线程每次睡眠一个短暂的时间,用serialPort.BytesToRead ==0判断有无新数据.若有新数据,从线程继续睡眠;若没有新数据到来,说明数据是完整的。

当然数据完整接收后,仍要用接收数据的协议(头、尾字节、校验等方式)判断数据的正确性,保证数据真正是完整的。

<测试程序时请将计算机串口的2、3脚短路,自发自收>

附件:

/Files/tewuapple/TestSerialPort.rar

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载