物联网AI MicroPython学习之语法 PWM脉宽调制模块

学物联网,来万物简单IoT物联网!!在这里插入图片描述

PWM 介绍

  • 模块功能:

PWM脉宽调制驱动模块

接口说明

PWM - 构建PWM对象

  • 函数原型:PWM(ch, freq, duty)
  • 参数说明:
参数 类型 必选参数? 说明
ch object Y Pin对象
例如:Pin(2)
freq int N pwm频率设置
范围:1Khz ~ 40Mhz
默认:5Khz
duty int N pwm占空比
范围:0 ~ 1023
默认:512(50%)
  • 返回值:
    构建的PWM对象。

freq - 操作PWM的频率

  • 函数原型:freq(data)
  • 参数说明:
参数 类型 必选参数? 说明
data int N 无参数,返回当前PWM频率值
有参,设置当前参数:1Khz ~ 40Mhz
  • 返回值:
    无参数,返回当前PWM频率值

duty - 操作PWM的占空比

  • 函数原型:duty(data)
  • 参数说明:
参数 类型 必选参数? 说明
data int N 无参数,返回当前PWM占空值
有参,设置当前参数:0 ~ 1023
  • 返回值:
    无参数,返回当前PWM占空值

duty_u16 - 操作PWM的占空比2

  • 函数原型:duty_u16(data)
  • 参数说明:
参数 类型 必选参数? 说明
data int N 无参数,返回当前PWM占空值
有参,设置当前参数:0 ~ 65535
  • 返回值:
    无参数,返回当前PWM占空值

deinit - 关闭PWM

  • 函数原型:deinit()
  • 参数说明:

  • 返回值:
  • 代码示例
from machine import Pin, PWM

pwm0 = PWM(Pin(0))         # 创建Pin0为PWM对象
freq = pwm0.freq()         # 获取pwm频率
pwm0.freq(1000)            # 设置PWM频率1Khz

duty = pwm0.duty()         # 获取占空比值(0~1023)
pwm0.duty(256)             # 设置占空比(25%)

duty_u16 = pwm0.duty_u16() # 获取占空比值(0~65535)
pwm0.duty_u16(2**16*3//4)  # 设置占空比(75%)

pwm0.deinit()              # 关闭PWM

你可能感兴趣的:(ETTPython组件库,物联网,学习,人工智能,嵌入式硬件,python)