如果在设定的“”超时“”时间内没有完成事件,那么久终止响应当前时间进入超时事件
超时时间设置为-1代表永不超时,永远不会进入超时事件,事件未完成程序会一直等待。
当超时时间设置为0,很多事件都不会正常响应。
超时时间可以自己定义,比如超时后执行控件初始化等等根据需要自行定义。
超时就是字面上的意思,超过设定的时间。超时事件就是指超过设定时间这一事件。举个例子,你和某人约定8点钟在某处见面谈事情,结果等到了8:30人还没出现,于是你给对方打电话。这其中,30分钟其实就是你设定的超时时间,过了8:30,就超时了,超时事件触发,你给对方打电话,打电话这个行为就是超时事件的分支框内所对应的代码。
换成LabVIEW里的例子。串口通讯在设置时可以配置一个超时时间,比如10秒,那么串口在读取时,若串口缓冲区内没有接收到数据,等待10秒之后,超时事件触发,串口读取函数就不再等待了,继续往下运行。
不知我这样解释你能否听明白。
请你严格按照labview自带的串口 驱动 范例: basic serial write and read! 去做如果自己找不出原因来,就按照范例里的程序跑通。
串口通讯是最基本的通讯, 不要自己人为的随意设置或者修改NI公司已经做好的驱动模块,尤其是在没理解原理之前!
首先: 你的初始化模块使用错误
你没有严格的配置初始化属性, 就是 波特率, 奇偶校验位, 停止位等属性
其次: 你在循环中的读取和写入模块中添加了时间延迟,可你并不知道到底需要延迟多少ms
所以很有可能出问题。
再次: 读取和写入模块分别是以字符串形式输入输出的, 你需要转换, 并且定制协议,以保证
传输数据的格式是正确的
最后: 你没有加任何报错机制,导致最后无法查看错误原因。
综上你需要做的就是,找到NI自己的demo, 跑通后再考虑下一步,如我前面所说。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)