RTEMS 6.1-rc5
|
Functions | |
void | PWMC_ConfigureChannel (Pwm *pPwm, uint8_t channel, uint32_t prescaler, uint32_t alignment, uint32_t polarity) |
Configures PWM a channel with the given parameters, basic configure function. | |
void | PWMC_ConfigureChannelExt (Pwm *pPwm, uint8_t channel, uint32_t prescaler, uint32_t alignment, uint32_t polarity, uint32_t countEventSelect, uint32_t DTEnable, uint32_t DTHInverte, uint32_t DTLInverte) |
Configures PWM a channel with the given parameters, extend configure function. The PWM controller must have been clocked in the PMC prior to calling this function. Beware: this function disables the channel. It waits until disable is effective. | |
void | PWMC_ConfigureClocks (Pwm *pPwm, uint32_t clka, uint32_t clkb, uint32_t mck) |
Configures PWM clocks A & B to run at the given frequencies. | |
void | PWMC_SetPeriod (Pwm *pPwm, uint8_t channel, uint16_t period) |
Sets the period value used by a PWM channel. | |
void | PWMC_SetDutyCycle (Pwm *pPwm, uint8_t channel, uint16_t duty) |
Sets the duty cycle used by a PWM channel. This function writes directly to the CDTY register if the channel is disabled; otherwise it uses the update register CDTYUPD. Note that the duty cycle must always be inferior or equal to the channel period. | |
void | PWMC_SetDeadTime (Pwm *pPwm, uint8_t channel, uint16_t timeH, uint16_t timeL) |
Sets the dead time used by a PWM channel. This function writes directly to the DT register if the channel is disabled; otherwise it uses the update register DTUPD. Note that the dead time must always be inferior or equal to the channel period. | |
void | PWMC_ConfigureSyncChannel (Pwm *pPwm, uint32_t channels, uint32_t updateMode, uint32_t requestMode, uint32_t requestComparisonSelect) |
Configures Synchronous channel with the given parameters. Beware: At this time, the channels should be disabled. | |
void | PWMC_SetSyncChannelUpdatePeriod (Pwm *pPwm, uint8_t period) |
Sets the update period of the synchronous channels. This function writes directly to the SCUP register if the channel #0 is disabled; otherwise it uses the update register SCUPUPD. | |
void | PWMC_SetSyncChannelUpdateUnlock (Pwm *pPwm) |
Sets synchronous channels update unlock. | |
void | PWMC_EnableChannel (Pwm *pPwm, uint8_t channel) |
Enables the given PWM channel. | |
void | PWMC_DisableChannel (Pwm *pPwm, uint8_t channel) |
Disables the given PWM channel. | |
void | PWMC_EnableChannelIt (Pwm *pPwm, uint8_t channel) |
Enables the period interrupt for the given PWM channel. | |
uint32_t | PWMC_GetStatus2 (Pwm *pPwm) |
Return PWM Interrupt Status2 Register. | |
void | PWMC_DisableChannelIt (Pwm *pPwm, uint8_t channel) |
Disables the period interrupt for the given PWM channel. | |
void | PWMC_EnableIt (Pwm *pPwm, uint32_t sources1, uint32_t sources2) |
Enables the selected interrupts sources on a PWMC peripheral. | |
void | PWMC_DisableIt (Pwm *pPwm, uint32_t sources1, uint32_t sources2) |
Disables the selected interrupts sources on a PWMC peripheral. | |
void | PWMC_SetOverrideValue (Pwm *pPwm, uint32_t value) |
Set PWM output override value. | |
void | PWMC_EnableOverrideOutput (Pwm *pPwm, uint32_t value, uint32_t sync) |
Enable override output. | |
void | PWMC_OutputOverrideSelection (Pwm *pPwm, uint32_t value) |
Output Selection for override PWM output. | |
void | PWMC_DisableOverrideOutput (Pwm *pPwm, uint32_t value, uint32_t sync) |
Disable override output. | |
void | PWMC_SetFaultMode (Pwm *pPwm, uint32_t mode) |
Set PWM fault mode. | |
void | PWMC_FaultClear (Pwm *pPwm, uint32_t fault) |
PWM fault clear. | |
void | PWMC_SetFaultProtectionValue (Pwm *pPwm, uint32_t value) |
Set PWM fault protection value. | |
void | PWMC_EnableFaultProtection (Pwm *pPwm, uint32_t value) |
Enable PWM fault protection. | |
void | PWMC_ConfigureComparisonUnit (Pwm *pPwm, uint32_t x, uint32_t value, uint32_t mode) |
Configure comparison unit. | |
void | PWMC_ConfigureEventLineMode (Pwm *pPwm, uint32_t x, uint32_t mode) |
Configure event line mode. | |
Implementation of the Pulse Width Modulation Controller (PWM) peripheral.
void PWMC_ConfigureChannel | ( | Pwm * | pPwm, |
uint8_t | channel, | ||
uint32_t | prescaler, | ||
uint32_t | alignment, | ||
uint32_t | polarity | ||
) |
Configures PWM a channel with the given parameters, basic configure function.
The PWM controller must have been clocked in the PMC prior to calling this function. Beware: this function disables the channel. It waits until disable is effective.
channel | Channel number. |
prescaler | Channel prescaler. |
alignment | Channel alignment. |
polarity | Channel polarity. |
void PWMC_ConfigureChannelExt | ( | Pwm * | pPwm, |
uint8_t | channel, | ||
uint32_t | prescaler, | ||
uint32_t | alignment, | ||
uint32_t | polarity, | ||
uint32_t | countEventSelect, | ||
uint32_t | DTEnable, | ||
uint32_t | DTHInverte, | ||
uint32_t | DTLInverte | ||
) |
Configures PWM a channel with the given parameters, extend configure function. The PWM controller must have been clocked in the PMC prior to calling this function. Beware: this function disables the channel. It waits until disable is effective.
channel | Channel number. |
prescaler | Channel prescaler. |
alignment | Channel alignment. |
polarity | Channel polarity. |
countEventSelect | Channel counter event selection. |
DTEnable | Channel dead time generator enable. |
DTHInverte | Channel Dead-Time PWMHx output Inverted. |
DTLInverte | Channel Dead-Time PWMHx output Inverted. |
void PWMC_ConfigureClocks | ( | Pwm * | pPwm, |
uint32_t | clka, | ||
uint32_t | clkb, | ||
uint32_t | mck | ||
) |
Configures PWM clocks A & B to run at the given frequencies.
This function finds the best MCK divisor and prescaler values automatically.
clka | Desired clock A frequency (0 if not used). |
clkb | Desired clock B frequency (0 if not used). |
mck | Master clock frequency. |
void PWMC_ConfigureComparisonUnit | ( | Pwm * | pPwm, |
uint32_t | x, | ||
uint32_t | value, | ||
uint32_t | mode | ||
) |
Configure comparison unit.
x | comparison x index |
value | comparison x value. |
mode | comparison x mode |
void PWMC_ConfigureEventLineMode | ( | Pwm * | pPwm, |
uint32_t | x, | ||
uint32_t | mode | ||
) |
Configure event line mode.
x | Line x |
mode | Bitwise OR of line mode selection |
void PWMC_ConfigureSyncChannel | ( | Pwm * | pPwm, |
uint32_t | channels, | ||
uint32_t | updateMode, | ||
uint32_t | requestMode, | ||
uint32_t | requestComparisonSelect | ||
) |
Configures Synchronous channel with the given parameters. Beware: At this time, the channels should be disabled.
channels | Bitwise OR of Synchronous channels. |
updateMode | Synchronous channel update mode. |
requestMode | PDC transfer request mode. |
requestComparisonSelect | PDC transfer request comparison selection. |
void PWMC_DisableChannel | ( | Pwm * | pPwm, |
uint8_t | channel | ||
) |
Disables the given PWM channel.
Beware, channel will be effectively disabled at the end of the current period. Application can check channel is disabled using the following wait loop: while ((PWM->PWM_SR & (1 << channel)) != 0);
channel | Channel number. |
void PWMC_DisableChannelIt | ( | Pwm * | pPwm, |
uint8_t | channel | ||
) |
Disables the period interrupt for the given PWM channel.
channel | Channel number. |
void PWMC_DisableIt | ( | Pwm * | pPwm, |
uint32_t | sources1, | ||
uint32_t | sources2 | ||
) |
Disables the selected interrupts sources on a PWMC peripheral.
sources1 | Bitwise OR of selected interrupt sources of PWM_IDR1. |
sources2 | Bitwise OR of selected interrupt sources of PWM_IDR2. |
void PWMC_DisableOverrideOutput | ( | Pwm * | pPwm, |
uint32_t | value, | ||
uint32_t | sync | ||
) |
Disable override output.
value | Bitwise OR of output selection. |
sync | 0: enable the output asynchronously, 1: enable it synchronously |
void PWMC_EnableChannel | ( | Pwm * | pPwm, |
uint8_t | channel | ||
) |
Enables the given PWM channel.
This does NOT enable the corresponding pin;this must be done in the user code.
channel | Channel number. |
void PWMC_EnableChannelIt | ( | Pwm * | pPwm, |
uint8_t | channel | ||
) |
Enables the period interrupt for the given PWM channel.
channel | Channel number. |
void PWMC_EnableFaultProtection | ( | Pwm * | pPwm, |
uint32_t | value | ||
) |
Enable PWM fault protection.
value | Bitwise OR of FPEx[y]. |
void PWMC_EnableIt | ( | Pwm * | pPwm, |
uint32_t | sources1, | ||
uint32_t | sources2 | ||
) |
Enables the selected interrupts sources on a PWMC peripheral.
sources1 | Bitwise OR of selected interrupt sources of PWM_IER1. |
sources2 | Bitwise OR of selected interrupt sources of PWM_IER2. |
void PWMC_EnableOverrideOutput | ( | Pwm * | pPwm, |
uint32_t | value, | ||
uint32_t | sync | ||
) |
Enable override output.
value | Bitwise OR of output selection. |
sync | 0: enable the output asynchronously, 1: enable it synchronously |
void PWMC_FaultClear | ( | Pwm * | pPwm, |
uint32_t | fault | ||
) |
PWM fault clear.
fault | Bitwise OR of fault to clear. |
uint32_t PWMC_GetStatus2 | ( | Pwm * | pPwm | ) |
Return PWM Interrupt Status2 Register.
void PWMC_OutputOverrideSelection | ( | Pwm * | pPwm, |
uint32_t | value | ||
) |
Output Selection for override PWM output.
value | Bitwise OR of output override value. |
void PWMC_SetDeadTime | ( | Pwm * | pPwm, |
uint8_t | channel, | ||
uint16_t | timeH, | ||
uint16_t | timeL | ||
) |
Sets the dead time used by a PWM channel. This function writes directly to the DT register if the channel is disabled; otherwise it uses the update register DTUPD. Note that the dead time must always be inferior or equal to the channel period.
channel | Channel number. |
timeH | Dead time value for PWMHx output. |
timeL | Dead time value for PWMLx output. |
void PWMC_SetDutyCycle | ( | Pwm * | pPwm, |
uint8_t | channel, | ||
uint16_t | duty | ||
) |
Sets the duty cycle used by a PWM channel. This function writes directly to the CDTY register if the channel is disabled; otherwise it uses the update register CDTYUPD. Note that the duty cycle must always be inferior or equal to the channel period.
channel | Channel number. |
duty | Duty cycle value. |
void PWMC_SetFaultMode | ( | Pwm * | pPwm, |
uint32_t | mode | ||
) |
Set PWM fault mode.
mode | Bitwise OR of fault mode. |
void PWMC_SetFaultProtectionValue | ( | Pwm * | pPwm, |
uint32_t | value | ||
) |
Set PWM fault protection value.
value | Bitwise OR of fault protection value. |
void PWMC_SetOverrideValue | ( | Pwm * | pPwm, |
uint32_t | value | ||
) |
Set PWM output override value.
value | Bitwise OR of output override value. |
void PWMC_SetPeriod | ( | Pwm * | pPwm, |
uint8_t | channel, | ||
uint16_t | period | ||
) |
Sets the period value used by a PWM channel.
This function writes directly to the CPRD register if the channel is disabled; otherwise, it uses the update register CPRDUPD.
channel | Channel number. |
period | Period value. |
void PWMC_SetSyncChannelUpdatePeriod | ( | Pwm * | pPwm, |
uint8_t | period | ||
) |
Sets the update period of the synchronous channels. This function writes directly to the SCUP register if the channel #0 is disabled; otherwise it uses the update register SCUPUPD.
period | update period. |
void PWMC_SetSyncChannelUpdateUnlock | ( | Pwm * | pPwm | ) |
Sets synchronous channels update unlock.
Note: If the UPDM field is set to 0, writing the UPDULOCK bit to 1 triggers the update of the period value, the duty-cycle and the dead-time values of synchronous channels at the beginning of the next PWM period. If the field UPDM is set to 1 or 2, writing the UPDULOCK bit to 1 triggers only the update of the period value and of the dead-time values of synchronous channels. This bit is automatically reset when the update is done.