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



    • 0_1711355764826_08dbbeff-bd63-4010-bf66-bf9736075f06-image.png
      0_1711355769994_0738dd18-7756-4fc7-bb87-de202bef5851-image.png
      例程方法输出50Hz,可调脉冲在1ms 到2ms,但占空比数值在5-10左右,可调区间太小,使用PWM 16位提示无法加载该PWM模块?
      还有就是看了手册说可以读取编码器值,但请问这个操作如和,英文版复制的例程,提示无该模块,导入失败,需要安装还是怎么操作?



    • 使用machine 导入PWM也会提示同样的问题,IDE版本4.1.5,OpenMV固件版本OpenMV v4.5.3; MicroPython v1.22-omv.r17;



    • # This work is licensed under the MIT license.
      # Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
      # https://github.com/openmv/openmv/blob/master/LICENSE
      #
      # Timer Control Example
      #
      # This example shows how to use a timer for callbacks.
      
      import time,pyb,machine
      from pyb import LED,Pin,Timer,PWM
      
      
      LEDR = LED(1)
      LEDG = LED(2)
      LEDB = LED(3)
      
      #pwm = PWM(Pin("P7"), freq=50, duty=0)
      #pwm.duty(7)
      
      ## we will receive the timer object when being called
      # Note: 回调函数不允许分配内存
      def tick(tim):
          LEDR.toggle()
      
      tim = Timer(14, freq=10) 
      tim.callback(tick)  
      
      tim = Timer(4, freq=1000)  # Frequency in Hz.
      ch1 = tim.channel(1, Timer.PWM, pin=Pin("P7"), pulse_width_percent=50)
      
      #tim.init(freq=100)
      #tim = Timer(2, freq=1000)  # 设置定时器在1000Hz触发
      #chA = tim.channel(1, Timer.ENC_A, pin=Pin("P6"))
      #chB = tim.channel(4, Timer.ENC_B, pin=Pin("P5"))
      
      
      # 初始化编码器
      #encoder1 = pyb.Encoder(pyb.Pin('P5'), pyb.Pin('P6'))
      
      # 读取编码器的旋转位置
      #position1 = encoder1.position()
      
      while True:
          time.sleep_ms(500)
      #    LEDB.toggle()
      
      
      
      
      


    • OpenMV H7要使用pyb.Timer来控制PWM,没有Timer.PWM,也没有machine.PWM。

      Machine.PWM是OpenMV RT上使用的。

      我不清楚你说的可调区间太小是什么意思。