labview串口通信资源在定时循环中的应用(转)
时间:10-02
整理:3721RD
点击:
在别的论坛看到一篇求助贴 觉得非常不错就转过来了:
问: 各位工程师大家好:最近做项目遇到了个问题,根据和下位机的通信协议,需要以250ms的间隔发送代码1,同时也要以20ms的间隔发送代码2,这样我就想到了用定时结构,由于两个定时循环里面都要用到串口写函数,这样我就把VISA句柄直接分配给两个定时循环的串口写函数了,在实际的运行过程中出现了一点问题,给我的感觉是时间间隔不是很准,弄了两天了也不知道是什么问题,想请教下各位,一个串口资源同时被两个定时循环用,会不会有竞争发生,具体的图见附件,大家遇到这种情况一般都怎么做呀,谢谢?
高手解答:在Windows里少用定时循环~
这种情况用一个定时循环就可以了,将循环周期设为10ms, 这样循环2次发代码2,循环25次同时发送代码1和2。
小编试试
看了是不是很有启发 哈哈 这就是论坛的妙处
两个循环是并行运行的,采用一个visa句柄肯定有影响。
现在也在做类似的东西,定式循环中有两个循环分时运行。定式循环就是做不好。
学习了
定时循环
学习了
感谢分享!多谢小编!
学习了……………………
也可以用队列生产消费模式,时钟判断时间间隔,每过250ms写入1,每过10ms写入2
思路很好~~~~~~~~
用生产者消费者模式编写会有效果点