Explication de routine-02-pwm_control Contrôle PWM
# PWM 控制例子
#
# 这个例子展示了如何使用OpenMV的PWM
import time
from pyb import Pin, Timer
tim = Timer(4, freq=1000) # Frequency in Hz
# 生成1kHZ方波,使用TIM4,channels 1 and 2分别是 50% 和 75% 占空比。
ch1 = tim.channel(1, Timer.PWM, pin=Pin("P7"), pulse_width_percent=50)
ch2 = tim.channel(2, Timer.PWM, pin=Pin("P8"), pulse_width_percent=75)
ch3 = tim.channel(3, Timer.PWM, pin=Pin("P9"), pulse_width_percent=50)
while (True):
time.sleep_ms(1000)
Explication officielle de la fonction du document chinois OpenMV deSingtown Technology :
Explication officielle de la fonction du document chinois OpenMV deSingtown Technology :
Le module pyb ne peut pas être utilisé sur OpenMV RT. Seuls les modules machine suivants peuvent être utilisés :
# PWM 控制例子
#
# 这个例子展示了如何使用OpenMV的PWM
# P7 和 P8 可以共享相同的 PWM module,它们需要具有相同的频率。
p7 = PWM("P7", freq=100, duty_u16=32768)
p8 = PWM("P8", freq=100, duty_u16=32768)
# P9 和 P10 可以共享相同的 PWM module,它们需要具有相同的频率。
p9 = PWM("P9", freq=100, duty_u16=32768)
p10 = PWM("P10", freq=100, duty_u16=32768)
while True:
for i in range(0, 65536, 256):
p7.duty_u16(65535 - i)
time.sleep_ms(10)
p7.duty_u16(32768)
for i in range(0, 65536, 256):
p8.duty_u16(65535 - i)
time.sleep_ms(10)
p8.duty_u16(32768)
for i in range(0, 65536, 256):
p9.duty_u16(65535 - i)
time.sleep_ms(10)
p9.duty_u16(32768)
for i in range(0, 65536, 256):
p10.duty_u16(65535 - i)
time.sleep_ms(10)
p10.duty_u16(32768)