最近用到的某款软件里面使用到 Python 脚本,因为是工控的,所以需要一个检测上升沿的功能,但是该软件的 Python 库里面似乎是没有这个函数或类可以使用,因为可能要进行移植,所以也不能采用外部库的方式(我也懒得去找),于是想能不能直接用 Python 写一个上升沿检测的功能,代码如下:

#-*- coding:gb18030 -*-
flag = False

while True:
    if flag == False:
        flag = input('TrueOrFalse: ')
        if flag == True:
            print 'Move robot'

    inSignal = input('InputSignal: ')
    flag = inSignal or False
具体原理就是检查标志 flag 是否处于 False,如果是再去检查输入,如果输入为 True,则将 flag 设为 True 并且执行动作,等执行完动作再去检查输入。

循环检测中,如果输入为 False 则将 flag 复位为 False,否则 flag 保持为 True,这样就可以使动作限定在输入复位过一遍的情况。

更多推荐

上升沿检测代码实现