【Pico入门级教程】3. PWM(脉冲宽度调制)

【MicroPython】machine.PWM类函数详解

  • 机器.PWM(引脚):
    • PWM对象构造函数
    • pin:需要设置为PWM输出的GPIO对象;

其作用将指定GPIO重新初始化并设置为PWM输出模式

第一个参数pin为上期教程讲解过的Pin对象,用于指定使用GPIO,该对象会被重新初始化。

  • PWM.deinit():
    • 取消PWM初始化.

deinit为反初始化函数其作用为清空初始化,并停止PWM输出。

  • PWM.freq([值]):
    • 设置PWM输出频率函数。
    • value: PWM输出频率,数值应符合PWM频率计算公式;

freq函数为PWM频率设置函数根据参数value,自动计算分频器参数(分频因子)和TOP寄存器参数(计数器最大计数值)。

  • PWM.duty_u16([value]):
    • 设定计数器比较值,
    • value: 设置占空比比例,数值应在0-65536间;

duty_u16函数用于设置占空比, 通过参数value,会自动计算出相对应的数值并赋予给CC寄存器,当计数器计数值比CC寄存器小于时,PWM引脚输出高电平,反之输出低电平。

  • PWM.duty_ns([value]):
    • 设定高电平的时间;
    • value: 设置高电平时间,单位为ns;

duty_ns函数其作用是设置一个周期输出高电平时长。 其参数value为高电平时间,单位为ns。

此文章仅针对RP2040 MicroPython固件,以源码为准,本文根据编写时官方源码编写,用于为初学者提供便利,仅供于参考,如有能力者建议自行查询MicroPython源码

发表回复