mirror of
https://github.com/sascha-hemi/pycom-documentation.git
synced 2026-03-24 01:06:56 +01:00
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
---
|
|
title: "PWM"
|
|
aliases:
|
|
- firmwareapi/pycom/machine/pwm.html
|
|
- firmwareapi/pycom/machine/pwm.md
|
|
- chapter/firmwareapi/pycom/machine/pwm
|
|
---
|
|
|
|
## Quick Usage Example
|
|
|
|
```python
|
|
|
|
from machine import PWM
|
|
pwm = PWM(0, frequency=5000) # use PWM timer 0, with a frequency of 5KHz
|
|
# create pwm channel on pin P12 with a duty cycle of 50%
|
|
pwm_c = pwm.channel(0, pin='P12', duty_cycle=0.5)
|
|
pwm_c.duty_cycle(0.3) # change the duty cycle to 30%
|
|
```
|
|
|
|
## Constructors
|
|
|
|
### class machine.PWM(timer, frequency)
|
|
|
|
Create a PWM object. This sets up the `timer` to oscillate at the specified `frequency`. `timer` is an integer from 0 to 3. `frequency` is an integer from 1 Hz to 78 KHz.
|
|
|
|
## Methods
|
|
|
|
### pwm.channel(id, pin, [duty_cycle=0.5])
|
|
|
|
Connect a PWM channel to a pin, setting the initial duty cycle. `id` is an integer from 0 to 7. `pin` is a string argument. `duty_cycle` is a keyword-only float argument, with values between 0 and 1. Returns an instance of `PWMChannel`.
|
|
|
|
|
|
### pwmchannel.duty_cycle(value)
|
|
|
|
Set the duty cycle for a PWM channel. `value` is a float argument, with values between 0 and 1.
|
|
|