例程讲解-02-pwm_control 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)

星瞳科技OpenMV官方中文文档函数讲解:

星瞳科技OpenMV官方中文文档函数讲解:

在 OpenMV RT 上不能用pyb模块,只能使用以下machine模块:

# 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)

results matching ""

    No results matching ""