nodemcu-firmware/docs/modules/pwm.md

2.6 KiB

PWM Module

Since Origin / Contributor Maintainer Source
2014-12-22 Zeroday Zeroday pwm.c

pwm.close()

Quit PWM mode for the specified GPIO pin.

Syntax

pwm.close(pin)

Parameters

pin 1~12, IO index

Returns

nil

See also

pwm.start()

pwm.getclock()

Get selected PWM frequency of pin.

Syntax

pwm.getclock(pin)

Parameters

pin 1~12, IO index

Returns

number PWM frequency of pin

See also

pwm.setclock()

See also

pwm.getduty()

pwm.getduty()

Get selected duty cycle of pin.

Syntax

pwm.getduty(pin)

Parameters

pin 1~12, IO index

Returns

number duty cycle, max 1023

See also

pwm.setduty()

pwm.setclock()

Set PWM frequency. Note: Setup of the PWM frequency will synchronously change other setups as well if there are any. Only one PWM frequency can be allowed for the system.

Syntax

pwm.setclock(pin, clock)

Parameters

  • pin 1~12, IO index
  • clock 1~1000, PWM frequency

Returns

nil

See also

pwm.getclock()

pwm.setduty()

Set duty cycle for a pin.

Syntax

pwm.setduty(pin, duty)

Parameters

  • pin 1~12, IO index
  • duty 0~1023, pwm duty cycle, max 1023 (10bit)

Returns

nil

Example

-- D1 is connected to green led
-- D2 is connected to blue led
-- D3 is connected to red led
pwm.setup(1, 500, 512)
pwm.setup(2, 500, 512)
pwm.setup(3, 500, 512)
pwm.start(1)
pwm.start(2)
pwm.start(3)
function led(r, g, b)
    pwm.setduty(1, g)
    pwm.setduty(2, b)
    pwm.setduty(3, r)
end
led(512, 0, 0) --  set led to red
led(0, 0, 512) -- set led to blue.

pwm.setup()

Set pin to PWM mode. Only 6 pins can be set to PWM mode at the most.

Syntax

pwm.setup(pin, clock, duty)

Parameters

  • pin 1~12, IO index
  • clock 1~1000, pwm frequency
  • duty 0~1023, pwm duty cycle, max 1023 (10bit)

Returns

nil

Example

-- set pin index 1 as pwm output, frequency is 100Hz, duty cycle is half.
pwm.setup(1, 100, 512)

See also

pwm.start()

pwm.start()

PWM starts, the waveform is applied to the GPIO pin.

Syntax

pwm.start(pin)

####Parameters pin 1~12, IO index

Returns

nil

See also

pwm.stop()

pwm.stop()

Pause the output of the PWM waveform.

Syntax

pwm.stop(pin)

Parameters

pin 1~12, IO index

Returns

nil

See also

pwm.start()