chenxd2009 发表于 2010-5-17 10:43:06

利用activex进行labview中断串行通讯的问题

小弟参考着王定远等的《activex在labview下的事件回调和数据传递》以及《基于mscomm32和labview的串口通讯技术》等文章学习利用中断方法进行串行通讯。自己模仿文章中的程序来编写测试程序,但不成功。所以在此请教各位。程序框图如下:file:///C:/DOCUME~1/HP/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg
主程序,mscomm32调用file:///C:/DOCUME~1/HP/LOCALS~1/Temp/msohtmlclip1/01/clip_image004.jpg中断服务程序主程序用一布尔控件控制串口发送一字符串。本应该发送字符串之后应能触发oncomm事件中断然后进入终端服务程序,中断服务程序为读串口。数据读取经变体至数值转换后,通过队列的方式传递到主程序然后显示(把串口的2,3脚接到一起就可以自己发送自己接受了)。但结果好像发送数据后并不能触发中断。希望各位能帮忙看看有什么问题并指出来,也许问题描述的不太清楚,现付上测试程序,期待高手出现啊。

chenxd2009 发表于 2010-5-17 19:36:45

自己顶

飞雨天 发表于 2010-5-17 19:50:31

mscomm的事件是可以在LabVIEW中使用的,有知道的朋友帮忙看看~~我以前写的程序找不到了,不然贴上来

chenxd2009 发表于 2010-5-17 22:27:45

谢谢楼上的版主大哥了,大家多帮帮忙啊

zuanshigan 发表于 2010-5-17 22:54:00

我的lv版本8.2的打不开 你上传的图片我这也显示不了,是我这的事还是都看不到啊?

wdyjz 发表于 2010-5-18 10:51:50

http://www.cpubbs.com/blog/?1288/viewspace-69635.html
mscomm32串口中断方式程序完全公开!

chenxd2009 发表于 2010-5-18 20:14:07

谢谢各位,问题找到了,是我对串口初始化不成功导致的,有高人提醒: 在端口打开的情况下不能对端口号进行更改,所以应该先确定控件的端口关闭(在程序执行完记得关闭端口,为了保险开始也要加上判断)。

飞雨天 发表于 2010-5-19 10:24:03

本帖最后由 飞雨天 于 2010-5-19 10:25 编辑

allqq-mogudiandian-30all

以后编程最好借助error cluster这样一个流,如此一来程序任何的vi出错,都能第一时间知道~

error in和error out是labview编程最基本的原则

自己的vi可以这样去做,new--》from template,选择subvi with error handling,节省很多时间

chenxd2009 发表于 2010-5-20 22:10:03

谢谢大哥的建议,以后必定注意
页: [1]
查看完整版本: 利用activex进行labview中断串行通讯的问题