微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 延时关闭子程序

延时关闭子程序

时间:12-13 整理:3721RD 点击:
项目上需要做一个延时开关,要求能够即时开,延时关,延时时间可以设定。
碰到一个问题,由于判断延时是否进行,需要判断控制灯和显示灯的当前状态,只有在
控制灯关,显示灯开的状态下才进入延时,作为一个程序没有问题
但是做一个子程序的话,必须要给定一个当前灯的状态给子程序,如果子程序循环套用
,比较麻烦,如果在子程序中采用本地变量来记忆当前指示灯状态,
主程序调用一次没有问题,如果同时调用多次,这个本地变量值就会出现混乱
,虽然可以通过本地变量数组来解决,但是需要在主程序调用时指定延时开关所用的本
地变量,很不方便。希望能够实现只要输入开关控制和延时时间两个量,就可以实现延
时关闭输出的功能,请高手指教。
.84

如果你是问labview里面怎么做,我不知道.
如果是普通程序,在子程序里面把变量定义为static的.这样的变量值每次调用函数后产生
的变化会保留.
.70

关键是如果主程序有两个地方同时调用子程序的话,这个本地变量就会出现变化,
不能够保证运行结果正确了
.84

lv的examples中有历程
.68

你的问题不清楚.
我的理解是你希望正在延时的时候关闭命令无效,是不是? 那就设置第二个信号量就是了.
比如叫bDelaying. 然后比如,
  if((bCommand == TURNOFF) && bDelaying) return;
延时结束的时候设回false就是了.
.70

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top