Raspberry-Pi上的信号监控问题

时间:2019-10-18 02:44:52

标签: python raspberry-pi signals

大家好!第一次提问,对我犯的每个错误深感抱歉。

我有一个Raspberry Pi,它可以监听2个信号。 经过一些测试,当引脚悬空时,我注意到一些噪音使我的信号打开和​​关闭几次,所以我用Python编写了一个小程序来查看这些信号打开多长时间:

    ##### SIGNAL DETECT LOOP #####
    while 1:
        time.sleep(0.05)

        #S1 CHECK
        if GPIO.input(12):    #S1 ON
            temp_str = ' S1 is ON '
            print(temp_str)
            if S1_FLAG != 1:
                start_S1 = time.perf_counter()
                S1_FLAG = 1
        else:
            if S1_FLAG != 0:   #S1 OFF
                end_S1 = time.perf_counter()
                temp_str = 'S1  '+str(end_S1-start_S1)+'  sec'
                print(temp_str)
                S1_FLAG = 0

与S2相同,在相同的循环周期中,在GPIO.input(11)上,不只是为了使其简短而报告。

我运行了这段代码,发现信号打开了0.5秒左右。我写了第一张“印刷品”

temp_str = ' S1 is ON '  
print(temp_str)

只是为了检查视频,一切都进行了,但是经过一些测试,我决定对此进行评论并进行其他测试,然后发生了一些奇怪的事情:仅评论这两行,时间就增加了3秒。对S1的这些行进行注释,但对S2则不加注释,结果如下:

  • S1悬空,S2接地:S1接通3秒钟
  • S1接地,S2悬空:S2接通0.5秒
  • S1和S2浮动:两个信号都导通0.5秒

怎么可能?这些行被注释时,是我的程序出错了?

非常感谢您可以向我提出的每条建议。

0 个答案:

没有答案