| M480 BSP V3.05.001 The Board Support Package for M480 Series

Macros | Functions
bpwm.h File Reference

M480 series PWM driver header file. More...

Go to the source code of this file.

## Macros
#define | BPWM_CHANNEL_NUM
#define | BPWM_CH_0_MASK
#define | BPWM_CH_1_MASK
#define | BPWM_CH_2_MASK
#define | BPWM_CH_3_MASK
#define | BPWM_CH_4_MASK
#define | BPWM_CH_5_MASK
#define | BPWM_UP_COUNTER
#define | BPWM_DOWN_COUNTER
#define | BPWM_UP_DOWN_COUNTER
#define | BPWM_EDGE_ALIGNED
#define | BPWM_CENTER_ALIGNED
#define | BPWM_OUTPUT_NOTHING
#define | BPWM_OUTPUT_LOW
#define | BPWM_OUTPUT_HIGH
#define | BPWM_OUTPUT_TOGGLE
#define | BPWM_SSCTL_SSRC_PWM0 (0UL<<BPWM_SSCTL_SSRC_Pos)
#define | BPWM_SSCTL_SSRC_PWM1 (1UL<<BPWM_SSCTL_SSRC_Pos)
#define | BPWM_SSCTL_SSRC_BPWM0 (2UL<<BPWM_SSCTL_SSRC_Pos)
#define | BPWM_SSCTL_SSRC_BPWM1 (3UL<<BPWM_SSCTL_SSRC_Pos)
#define | BPWM_TRIGGER_ADC_EVEN_ZERO_POINT
#define | BPWM_TRIGGER_ADC_EVEN_PERIOD_POINT
#define | BPWM_TRIGGER_ADC_EVEN_ZERO_OR_PERIOD_POINT
#define | BPWM_TRIGGER_ADC_EVEN_CMP_UP_COUNT_POINT
#define | BPWM_TRIGGER_ADC_EVEN_CMP_DOWN_COUNT_POINT
#define | BPWM_TRIGGER_ADC_ODD_CMP_UP_COUNT_POINT
#define | BPWM_TRIGGER_ADC_ODD_CMP_DOWN_COUNT_POINT
#define | BPWM_CAPTURE_INT_RISING_LATCH
#define | BPWM_CAPTURE_INT_FALLING_LATCH
#define | BPWM_DUTY_INT_DOWN_COUNT_MATCH_CMP
#define | BPWM_DUTY_INT_UP_COUNT_MATCH_CMP
#define | BPWM_LOAD_MODE_IMMEDIATE
#define | BPWM_LOAD_MODE_CENTER
#define | BPWM_CLKSRC_BPWM_CLK
#define | BPWM_CLKSRC_TIMER0
#define | BPWM_CLKSRC_TIMER1
#define | BPWM_CLKSRC_TIMER2
#define | BPWM_CLKSRC_TIMER3
#define | BPWM_ENABLE_TIMER_SYNC(bpwm, u32ChannelMask, u32SyncSrc)
| Enable timer synchronous start counting function of specified channel(s) More...
#define | BPWM_DISABLE_TIMER_SYNC(bpwm, u32ChannelMask)
| Disable timer synchronous start counting function of specified channel(s) More...
#define | BPWM_TRIGGER_SYNC_START(bpwm)
| This macro enable BPWM counter synchronous start counting function. More...
#define | BPWM_ENABLE_OUTPUT_INVERTER(bpwm, u32ChannelMask)
| This macro enable output inverter of specified channel(s) More...
#define | BPWM_GET_CAPTURE_RISING_DATA(bpwm, u32ChannelNum)
| This macro get captured rising data. More...
#define | BPWM_GET_CAPTURE_FALLING_DATA(bpwm, u32ChannelNum)
| This macro get captured falling data. More...
#define | BPWM_MASK_OUTPUT(bpwm, u32ChannelMask, u32LevelMask)
| This macro mask output logic to high or low. More...
#define | BPWM_SET_PRESCALER(bpwm, u32ChannelNum, u32Prescaler)
| This macro set the prescaler of all channels. More...
#define | BPWM_SET_CMR(bpwm, u32ChannelNum, u32CMR)
| This macro set the duty of the selected channel. More...
#define | BPWM_GET_CMR(bpwm, u32ChannelNum)
| This macro get the duty of the selected channel. More...
#define | BPWM_SET_CNR(bpwm, u32ChannelNum, u32CNR)
| This macro set the period of all channels. More...
#define | BPWM_GET_CNR(bpwm, u32ChannelNum)
| This macro get the period of all channels. More...
#define | BPWM_SET_ALIGNED_TYPE(bpwm, u32ChannelMask, u32AlignedType)
| This macro set the BPWM aligned type. More...
#define | BPWM_CLR_COUNTER(bpwm, u32ChannelMask)
| Clear counter of channel 0. More...
#define | BPWM_SET_OUTPUT_LEVEL(bpwm, u32ChannelMask, u32ZeroLevel, u32CmpUpLevel, u32PeriodLevel, u32CmpDownLevel)
| Set output level at zero, compare up, period(center) and compare down of specified channel(s) More...

## Functions
uint32_t | BPWM_ConfigCaptureChannel (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32UnitTimeNsec, uint32_t u32CaptureEdge)
| Configure BPWM capture and get the nearest unit time. More...
uint32_t | BPWM_ConfigOutputChannel (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Frequency, uint32_t u32DutyCycle)
| This function Configure BPWM generator and get the nearest frequency in edge aligned auto-reload mode. More...
void | BPWM_Start (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Start BPWM module. More...
void | BPWM_Stop (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Stop BPWM module. More...
void | BPWM_ForceStop (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Stop BPWM generation immediately by clear channel enable bit. More...
void | BPWM_EnableADCTrigger (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Condition)
| Enable selected channel to trigger ADC. More...
void | BPWM_DisableADCTrigger (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Disable selected channel to trigger ADC. More...
void | BPWM_ClearADCTriggerFlag (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Condition)
| Clear selected channel trigger ADC flag. More...
uint32_t | BPWM_GetADCTriggerFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get selected channel trigger ADC flag. More...
void | BPWM_EnableCapture (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Enable capture of selected channel(s) More...
void | BPWM_DisableCapture (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Disable capture of selected channel(s) More...
void | BPWM_EnableOutput (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Enables BPWM output generation of selected channel(s) More...
void | BPWM_DisableOutput (BPWM_T *bpwm, uint32_t u32ChannelMask)
| Disables BPWM output generation of selected channel(s) More...
void | BPWM_EnableCaptureInt (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Edge)
| Enable capture interrupt of selected channel. More...
void | BPWM_DisableCaptureInt (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Edge)
| Disable capture interrupt of selected channel. More...
void | BPWM_ClearCaptureIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32Edge)
| Clear capture interrupt of selected channel. More...
uint32_t | BPWM_GetCaptureIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get capture interrupt of selected channel. More...
void | BPWM_EnableDutyInt (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32IntDutyType)
| Enable duty interrupt of selected channel. More...
void | BPWM_DisableDutyInt (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Disable duty interrupt of selected channel. More...
void | BPWM_ClearDutyIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Clear duty interrupt flag of selected channel. More...
uint32_t | BPWM_GetDutyIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get duty interrupt flag of selected channel. More...
void | BPWM_EnablePeriodInt (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32IntPeriodType)
| Enable period interrupt of selected channel. More...
void | BPWM_DisablePeriodInt (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Disable period interrupt of selected channel. More...
void | BPWM_ClearPeriodIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Clear period interrupt of selected channel. More...
uint32_t | BPWM_GetPeriodIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get period interrupt of selected channel. More...
void | BPWM_EnableZeroInt (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Enable zero interrupt of selected channel. More...
void | BPWM_DisableZeroInt (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Disable zero interrupt of selected channel. More...
void | BPWM_ClearZeroIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Clear zero interrupt of selected channel. More...
uint32_t | BPWM_GetZeroIntFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get zero interrupt of selected channel. More...
void | BPWM_EnableLoadMode (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32LoadMode)
| Enable load mode of selected channel. More...
void | BPWM_DisableLoadMode (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32LoadMode)
| Disable load mode of selected channel. More...
void | BPWM_SetClockSource (BPWM_T *bpwm, uint32_t u32ChannelNum, uint32_t u32ClkSrcSel)
| Set BPWM clock source. More...
uint32_t | BPWM_GetWrapAroundFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Get the time-base counter reached its maximum value flag of selected channel. More...
void | BPWM_ClearWrapAroundFlag (BPWM_T *bpwm, uint32_t u32ChannelNum)
| Clear the time-base counter reached its maximum value flag of selected channel. More...

## Detailed Description

M480 series PWM driver header file.

Version
  V1.00 SPDX-License-Identifier: Apache-2.0

Copyright
  (C) 2016-2020 Nuvoton Technology Corp. All rights reserved.

Definition in file bpwm.h.