Pulse width modulation.
More...
|
| file | PWM.h |
| | Pulse width modulation.
|
| |
| file | PWM1.h |
| | Pulse width modulation.
|
| |
|
| void | PWM_Init (uint32_t timerClkSrc, uint32_t timerClkPrescale, uint32_t period, uint32_t duty0, uint32_t duty1) |
| | Initialize PWM. More...
|
| |
| void | PWM_SetDuty (uint32_t duty0, uint32_t duty1) |
| | Set duty cycles. More...
|
| |
| void | PWM_PA12Init (uint32_t timerClkSrc, uint32_t timerClkPrescale, uint32_t period, uint32_t duty0) |
| | Initialize PWM. More...
|
| |
| void | PWM_PA12SetDuty (uint32_t duty0) |
| | Set duty cycles. More...
|
| |
| void | PWM1_Init (uint32_t timerClkSrc, uint32_t timerClkPrescale, uint32_t period, uint32_t duty0, uint32_t duty1) |
| | Initialize PWM. More...
|
| |
| void | PWM1_SetDuty (uint32_t duty0, uint32_t duty1) |
| | Set duty cycles. More...
|
| |
Pulse width modulation.
PWM pins on the MSPM0G3507
| Pin | Description |
| PA12 | CCP0 PWM output
|
| PA13 | CCP1 PWM output
|
PWM pins on the MSPM0G3507
| Pin | Description |
| PB4 | CCP0 PWM output |
| PB1 | CCP1 PWM output |
◆ PWM1_Init()
| void PWM1_Init |
( |
uint32_t |
timerClkSrc, |
|
|
uint32_t |
timerClkPrescale, |
|
|
uint32_t |
period, |
|
|
uint32_t |
duty0, |
|
|
uint32_t |
duty1 |
|
) |
| |
Initialize PWM.
Initialize PWM outputs on PA12 PA13. Rising edge synchronized. timerClkDivRatio = 1. Once started, hardware will continuously output the waves.
- timerClkSrc =
- 2 for 32768 Hz LFCLK
- 4 for 4MHz MFCLK (not tested)
- 8 for 80/32/4 BUSCLK
- G0/G8 is on Power domain PD0
- 32MHz bus clock, BUSCLK clock is 32MHz
- 40MHz bus clock, BUSCLK clock is ULPCLK 20MHz
- 80MHz bus clock, BUSCLK clock is ULPCLK 40MHz
- PWMFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1) * period))
- For example, source=LFCLK, prescale = 0, period = 1000, PWM frequency = 32.768 Hz
- For example, source=BUSCLK, bus=40MHz, prescale=19, period = 10000, PWM frequency = 10kHz
- Parameters
-
| timerClkSrc | is 2 4 or 8 |
| timerClkPrescale | divide clock by timerClkPrescale+1, 0 to 255 |
| period | sets the PWM period |
| duty0 | sets the duty cycle on PA12 |
| duty1 | sets the duty cycle on PA13 |
- Returns
- none
- Note
- Will call LaunchPad_Init to reset and activate power
- See also
- PWM_SetDuty
◆ PWM1_SetDuty()
| void PWM1_SetDuty |
( |
uint32_t |
duty0, |
|
|
uint32_t |
duty1 |
|
) |
| |
Set duty cycles.
Set duty cycles on PA12 PA13.
- Parameters
-
| duty0 | sets the duty cycle on PA12 |
| duty1 | sets the duty cycle on PA13 |
- Returns
- none
- Note
- assumes PWM_Init was called
- See also
- PWM_Init
◆ PWM_Init()
| void PWM_Init |
( |
uint32_t |
timerClkSrc, |
|
|
uint32_t |
timerClkPrescale, |
|
|
uint32_t |
period, |
|
|
uint32_t |
duty0, |
|
|
uint32_t |
duty1 |
|
) |
| |
Initialize PWM.
Initialize PWM outputs on PA12 PA13. Rising edge synchronized. timerClkDivRatio = 1. Once started, hardware will continuously output the waves.
- timerClkSrc =
- 2 for 32768 Hz LFCLK
- 4 for 4MHz MFCLK (not tested)
- 8 for 80/32/4 BUSCLK
- G0/G8 is on Power domain PD0
- 32MHz bus clock, BUSCLK clock is 32MHz
- 40MHz bus clock, BUSCLK clock is ULPCLK 20MHz
- 80MHz bus clock, BUSCLK clock is ULPCLK 40MHz
- PWMFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1) * period))
- For example, source=LFCLK, prescale = 0, period = 1000, PWM frequency = 32.768 Hz
- For example, source=BUSCLK, bus=40MHz, prescale=19, period = 10000, PWM frequency = 10kHz
- Parameters
-
| timerClkSrc | is 2 4 or 8 |
| timerClkPrescale | divide clock by timerClkPrescale+1, 0 to 255 |
| period | sets the PWM period |
| duty0 | sets the duty cycle on PA12 |
| duty1 | sets the duty cycle on PA13 |
- Returns
- none
- Note
- Will call LaunchPad_Init to reset and activate power
- See also
- PWM_SetDuty
◆ PWM_PA12Init()
| void PWM_PA12Init |
( |
uint32_t |
timerClkSrc, |
|
|
uint32_t |
timerClkPrescale, |
|
|
uint32_t |
period, |
|
|
uint32_t |
duty0 |
|
) |
| |
Initialize PWM.
Initialize PWM outputs on PA12 . Rising edge synchronized. timerClkDivRatio = 1. Once started, hardware will continuously output the waves.
- timerClkSrc =
- 2 for 32768 Hz LFCLK
- 4 for 4MHz MFCLK (not tested)
- 8 for 80/32/4 BUSCLK
- G0/G8 is on Power domain PD0
- 32MHz bus clock, BUSCLK clock is 32MHz
- 40MHz bus clock, BUSCLK clock is ULPCLK 20MHz
- 80MHz bus clock, BUSCLK clock is ULPCLK 40MHz
- PWMFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1) * period))
- For example, source=LFCLK, prescale = 0, period = 1000, PWM frequency = 32.768 Hz
- For example, source=BUSCLK, bus=40MHz, prescale=19, period = 10000, PWM frequency = 10kHz
- Parameters
-
| timerClkSrc | is 2 4 or 8 |
| timerClkPrescale | divide clock by timerClkPrescale+1, 0 to 255 |
| period | sets the PWM period |
| duty0 | sets the duty cycle on PA12 |
- Returns
- none
- Note
- Will call LaunchPad_Init to reset and activate power
- See also
- PWM_SetDuty
◆ PWM_PA12SetDuty()
| void PWM_PA12SetDuty |
( |
uint32_t |
duty0 | ) |
|
Set duty cycles.
Set duty cycles on PA12 .
- Parameters
-
| duty0 | sets the duty cycle on PA12 |
- Returns
- none
- Note
- assumes PWM_Init was called
- See also
- PWM_Init
◆ PWM_SetDuty()
| void PWM_SetDuty |
( |
uint32_t |
duty0, |
|
|
uint32_t |
duty1 |
|
) |
| |
Set duty cycles.
Set duty cycles on PA12 PA13.
- Parameters
-
| duty0 | sets the duty cycle on PA12 |
| duty1 | sets the duty cycle on PA13 |
- Returns
- none
- Note
- assumes PWM_Init was called
- See also
- PWM_Init