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.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¶
See also¶
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.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 indexclock
1~1000, PWM frequency
Returns¶
nil
See also¶
pwm.setduty()¶
Set duty cycle for a pin.
Syntax¶
pwm.setduty(pin, duty)
Parameters¶
pin
1~12, IO indexduty
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 indexclock
1~1000, pwm frequencyduty
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 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()¶
Pause the output of the PWM waveform.
Syntax¶
pwm.stop(pin)
Parameters¶
pin
1~12, IO index
Returns¶
nil