本帖最后由 Niddle 于 2012-9-10 21:16 编辑
最近在使用 labview通过mscomm控件读串口的数据,串口的数据格式为字符串,如“A123.34”。使用串口调试助手看,得到的数据没有错,但用Labview却得不到数据。高亮运行的时候,使用探针,查看中断VI里的comevent,发现一直是0,没有变过。很奇怪。不使用中断的方法,在循环里查询comevent时,comevent的值会变,input时,将变体转换为字符串型数据时也报错。求大神支招!!!在线等。附程序
1
|
|
|
|
看过了你的的参数配置和中断的读取函数有问题。
我该了几个参数你参考下,1、CommPort直接赋值com号自己能用的就行。
2、inputmode用的1
3、RThreshold :为1,这个就是1个就产生中断,比较关键。4、inputlen=1.
中断函数中,转存MSComm中的缓存中数据出现了问题,你只转存了2个中断的数据,要把所有的数据都要转存了,是使用消息队列存数据的时候要使用循环,不想你写的那样,判断循环次数用InBufferCount。这也就是进入中断后要把缓存中的数据都读出来,不然你进入一次只能读1个,出来的时候在读一个,时间就了,你会发现InBufferCount中的数据越来越大就是读不出来,增加一个for循环就可以了。你是看的MSComm32在labveiw中断接受编程的例子没有有改过来,那个只是个样子问题多多。。
写的比较乱希望对你有帮助
|
|
|
|
|
同求。。。。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
|
看看,学习下!!!!!!!!!!!!!!!!!!!
|
|
|
|
|