多点温度检测上位机显示_多点温度检测系统上位机软件设计与编程

个字节就可以了,两者之间相差了50%的传输时间。由于串行传输的速度在我们看来还是很快的,这种差异在小量的10组,20组数据传输时可能还没有关系;可是如果这样的数据我们要传送200组,500组时,时间上的差异就非常明显,这种明显的差异表现出来就是系统效能的降低。因此在考虑传输方式时,要特别想到数据量的对少和系统效能之间的关系。

三、 MSComm控件两种处理通讯的方式

MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式,定时器自动驱动方式。

(1)时间驱动方式:

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如:在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的OnComm 事件捕获并处理这些通讯件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。

本程序采用了事件驱动方式,没有采用延时控制,因为本程序要同时接受4路温度数据,延时所带来的误差即不确定性会导致程序无法正确的接受并显示数据。

在MSComm1_OnComm()方法中我采用Select Case 语句来为接受到的数据选择显示地址。

以下对MSComm1_OnComm() 的源代码进行说明:

temp = MSComm1.Input …接受串口数据并存入字符串temp中

sel = Left$(temp, 1) …取temp中的第一个字符

First = Mid(temp, 2, 2) …取temp中的的2,3个字符

Second = Right(temp, 1) …取temp中的最后一个字符

temping = Val(First + "." + Second) …为了显示小数在第2,3字符与最后一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值