• 安装星瞳实验室APP,快速收到回复。扫描二维码或者点击 https://singtown.com/app/
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 一个提问,一个帖子,标题为问题的介绍
  • 请贴出具体的代码,与报错提示。
  • 代码一定要让别人可以运行的文本,不要贴图片
  • 请教一下有关程序的问题



    • 你好,可否帮我看看这程序哪里有错误为啥输出的了time_start却输出不了duration

      import time, pyb
      from pyb import Pin, ExtInt
      
      counter=0
      
      def count(line):
          global counter
          counter += 1
          if counter == 1:
             time_start = pyb.millis()
             print(time_start)
          if counter == 2:
             duration = pyb.elapsed_millis(time_start)
             print(duration)
             counter = 0
      ext = ExtInt(Pin('P5'), ExtInt.IRQ_RISING_FALLING, Pin.PULL_UP, count)
      while True:
          pass
      

      0_1534412223745_d478a76f-0f49-40d8-ad89-af8b81270946-image.png



    • 你这个程序是做什么的



    • 就是检测到上升沿开始计时,检测到下降沿停止计时,得到高电平的时间



    • 下面的代码,把P5置高,再断开就可以看到效果。

      import time, pyb
      from pyb import Pin, ExtInt
      
      time_start = 0
      duration = 0
      value = 0
      def pulse_in(line):
          global time_start
          global time_delta
          global value
          value = Pin('P5').value()
          if value:
              time_start = pyb.millis()
              print("time start:",time_start)
          else:
              duration = pyb.elapsed_millis(time_start)
              print('duration: ', duration)
      
      ext = ExtInt(Pin('P5'), ExtInt.IRQ_RISING_FALLING, Pin.PULL_DOWN, pulse_in)
      
      while True:
          pass
      


    • 谢谢。。解决了哈哈