一个较为抽象的实际问题
时间:10-02
整理:3721RD
点击:
请大家帮个忙,如何设计一个简单流程完成这样一个功能:输入数据为0000000001111111100001111这种样式的连续指令,每个数字为一个指令,0时执行‘假’的事件,1时触发信号。所要实现的目标为:0时一直执行‘假’,当1到来时执行‘真’,但随后的1不再触发,此时与0状态相同,直到下一次1的阵列到来,第一个1时触发…………这个问题纠结好久了,希望大家伸出援手,帮忙出出主意!谢谢!
b(i)和b(i-1)做异或,0作为复位信号。
可以用状态机,接收到0的状态和1的状态不一样
if(b(i-1)b(i)==01)
true
else
false
做异或的话要用到循环,程序就只在循环内运行了,若如图所示,则不能得到b(i)和b(i-1),该怎么办?
该怎么用状态机,能否给点指导,因为新手,所以好多地方需要学习,谢谢!
下面的程序更简单,可以参考实现。即只有本次和上一次的两个布尔值等于01作为真。
if(b(i-1)b(i)==01)
true
else
false
LabVIEW优化专辑中的“布尔指令序列状态检测与搜索”一贴不知道能否解决你的问题。