碧波液压网 欢迎你,游客。 登录 注册

VBA的妙用:串口通讯程序与EXCEL相结合

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 VBA简介

  Visual Basic的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完美的实现,它作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享。在没有VBA以前,一些应用软件如Excel、Word、Access、Project等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。拥有一种可跨越多个应用软件,使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的。VBA作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同的用户界面,而且VBA与原应用软件的宏语言相兼容,以保障用户在代码和工作上的投资。有了VBA以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。

  2 串口通讯程序

  简单的串口通讯程序一般是先由上位机向下位机发送读(write)或写(read)数据命令,然后等待下位机应答;下位机接受到命令之后,首先要对数据命令进行校验,对于符合校验约束的命令下位机会将相应的数据回复到上位机,对于不符合校验约束的命令下位机或将其抛弃或回复错误信息;上位机接收到下位机的响应之后,首先要对接收到的回复信息进行校验,对不符合校验约束的数据进行异常处理,对符合校验约束的信息进行解码,解码之后的信息便是上位机从下位机获得的有效信息了。

  上位机向串口发送读命令之后需要等待下位机应答并读取回复信息,常用的等待有3种方式:

  1) 轮询式

  上位机向串口发送读命令之后一直等待下位机应答,通讯程序处于一个等待循环中。

  优点:速度快、误码率低(几乎不存在误码)。

  缺点:消耗CPU。(解决办法:使用Sleep()API函数)。

  2) 消息式

  消息式通讯是采用响应WINDOWS消息的办法读取串口。

  优点:节省CPU、误码率低。

  缺点:发送接收机制过于繁琐。

  3) 定时接收式

  定时接收式通讯是根据预设的定时器时间进行读取数据。

  优点:发送接收机制相对简单、节省CPU。

  缺点:误码率太高,不同的硬件需要配置不同的通讯时间参数,需要严格的校验运算。

  3 EXCEL-VBA串口通讯实例

  软件:EXCEL。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论