• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 请教一下有关程序的问题



    • 你好,可否帮我看看这程序哪里有错误为啥输出的了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
      


    • 谢谢。。解决了哈哈