# 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()
M
mpkh 发布的帖子
-
RE: OpenMV 使用Timer.PWM,有问题,怎么解决其他PWM输出?
-
RE: OpenMV 使用Timer.PWM,有问题,怎么解决其他PWM输出?
使用machine 导入PWM也会提示同样的问题,IDE版本4.1.5,OpenMV固件版本OpenMV v4.5.3; MicroPython v1.22-omv.r17;
-
OpenMV 使用Timer.PWM,有问题,怎么解决其他PWM输出?
例程方法输出50Hz,可调脉冲在1ms 到2ms,但占空比数值在5-10左右,可调区间太小,使用PWM 16位提示无法加载该PWM模块?
还有就是看了手册说可以读取编码器值,但请问这个操作如和,英文版复制的例程,提示无该模块,导入失败,需要安装还是怎么操作?