Mini51 BSP  V3.02.002
The Board Support Package for Mini51 Series
Macros | Functions
pwm.h File Reference

Mini51 series PWM driver header file. More...

Go to the source code of this file.

Macros

#define PWM_CHANNEL_NUM   (6)
 
#define PWM_CLK_DIV_1   (4UL)
 
#define PWM_CLK_DIV_2   (0UL)
 
#define PWM_CLK_DIV_4   (1UL)
 
#define PWM_CLK_DIV_8   (2UL)
 
#define PWM_CLK_DIV_16   (3UL)
 
#define PWM_EDGE_ALIGNED   (0UL)
 
#define PWM_CENTER_ALIGNED   (PWM_PCR_PWMTYPE_Msk)
 
#define PWM_TRIGGER_ADC_CNTR_IS_0   PWM_TRGCON0_P0TRGEN_Msk
 
#define PWM_TRIGGER_ADC_CNTR_IS_CMR_D   PWM_TRGCON0_CM0TRGFEN_Msk
 
#define PWM_TRIGGER_ADC_CNTR_IS_CNR   PWM_TRGCON0_CNT0TRGEN_Msk
 
#define PWM_TRIGGER_ADC_CNTR_IS_CMR_U   PWM_TRGCON0_CM0TRGREN_Msk
 
#define PWM_FB0_EINT0   (PWM_PFBCON_BKEN0_Msk)
 
#define PWM_FB0_ACMP1   (PWM_PFBCON_BKEN0_Msk | PWM_PFBCON_CPO1BKEN_Msk)
 
#define PWM_FB1_EINT1   (PWM_PFBCON_BKEN1_Msk)
 
#define PWM_FB1_ACMP0   (PWM_PFBCON_BKEN1_Msk | PWM_PFBCON_CPO0BKEN_Msk)
 
#define PWM_PERIOD_INT_UNDERFLOW   (0)
 
#define PWM_PERIOD_INT_MATCH_CNR   (PWM_PIER_INT_TYPE_Msk)
 
#define PWM_ENABLE_COMPLEMENTARY_MODE(pwm)
 This macro enable complementary mode. More...
 
#define PWM_DISABLE_COMPLEMENTARY_MODE(pwm)
 This macro disable complementary mode, and enable independent mode. More...
 
#define PWM_ENABLE_GROUP_MODE(pwm)
 This macro enable group mode. More...
 
#define PWM_DISABLE_GROUP_MODE(pwm)
 This macro disable group mode. More...
 
#define PWM_ENABLE_SYNC_MODE(pwm)
 This macro enable synchronous mode. More...
 
#define PWM_DISABLE_SYNC_MODE(pwm)
 This macro disable synchronous mode, and enable independent mode. More...
 
#define PWM_ENABLE_OUTPUT_INVERTER(pwm, u32ChannelMask)
 This macro enable output inverter of specified channel(s) More...
 
#define PWM_SET_PRESCALER(pwm, u32ChannelNum, u32Prescaler)
 This macro set the prescaler of the selected channel. More...
 
#define PWM_SET_DIVIDER(pwm, u32ChannelNum, u32Divider)
 This macro set the divider of the selected channel. More...
 
#define PWM_SET_CMR(pwm, u32ChannelNum, u32CMR)
 This macro set the duty of the selected channel. More...
 
#define PWM_SET_CNR(pwm, u32ChannelNum, u32CNR)
 This macro set the period of the selected channel. More...
 
#define PWM_SET_ALIGNED_TYPE(pwm, u32ChannelMask, u32AlignedType)
 This macro set the PWM aligned type. More...
 

Functions

uint32_t PWM_ConfigOutputChannel (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Frequency, uint32_t u32DutyCycle)
 This function config PWM generator and get the nearest frequency in edge aligned auto-reload mode. More...
 
void PWM_Start (PWM_T *pwm, uint32_t u32ChannelMask)
 This function start PWM module. More...
 
void PWM_Stop (PWM_T *pwm, uint32_t u32ChannelMask)
 This function stop PWM module. More...
 
void PWM_ForceStop (PWM_T *pwm, uint32_t u32ChannelMask)
 This function stop PWM generation immediately by clear channel enable bit. More...
 
void PWM_EnableADCTrigger (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Condition)
 This function enable selected channel to trigger ADC. More...
 
void PWM_DisableADCTrigger (PWM_T *pwm, uint32_t u32ChannelNum)
 This function disable selected channel to trigger ADC. More...
 
void PWM_ClearADCTriggerFlag (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Condition)
 This function clear selected channel trigger ADC flag. More...
 
uint32_t PWM_GetADCTriggerFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 This function get selected channel trigger ADC flag. More...
 
void PWM_EnableFaultBrake (PWM_T *pwm, uint32_t u32ChannelMask, uint32_t u32LevelMask, uint32_t u32BrakeSource)
 This function enable fault brake of selected channels. More...
 
void PWM_ClearFaultBrakeFlag (PWM_T *pwm, uint32_t u32BrakeSource)
 This function clear fault brake flag. More...
 
void PWM_EnableOutput (PWM_T *pwm, uint32_t u32ChannelMask)
 This function enables PWM output generation of selected channels. More...
 
void PWM_DisableOutput (PWM_T *pwm, uint32_t u32ChannelMask)
 This function disables PWM output generation of selected channels. More...
 
void PWM_EnableDeadZone (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Duration)
 This function enable Dead zone of selected channel. More...
 
void PWM_DisableDeadZone (PWM_T *pwm, uint32_t u32ChannelNum)
 This function disable Dead zone of selected channel. More...
 
void PWM_EnableDutyInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32IntDutyType)
 This function enable duty interrupt of selected channel. More...
 
void PWM_DisableDutyInt (PWM_T *pwm, uint32_t u32ChannelNum)
 This function disable duty interrupt of selected channel. More...
 
void PWM_ClearDutyIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 This function clears duty interrupt flag of selected channel. More...
 
uint32_t PWM_GetDutyIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 This function get duty interrupt flag of selected channel. More...
 
void PWM_EnableFaultBrakeInt (PWM_T *pwm, uint32_t u32BrakeSource)
 This function enable fault brake interrupt. More...
 
void PWM_DisableFaultBrakeInt (PWM_T *pwm, uint32_t u32BrakeSource)
 This function disable fault brake interrupt. More...
 
void PWM_ClearFaultBrakeIntFlag (PWM_T *pwm, uint32_t u32BrakeSource)
 This function clear fault brake interrupt of selected source. More...
 
uint32_t PWM_GetFaultBrakeIntFlag (PWM_T *pwm, uint32_t u32BrakeSource)
 This function get fault brake interrupt of selected source. More...
 
void PWM_EnablePeriodInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32IntPeriodType)
 This function enable period interrupt of selected channel. More...
 
void PWM_DisablePeriodInt (PWM_T *pwm, uint32_t u32ChannelNum)
 This function disable period interrupt of selected channel. More...
 
void PWM_ClearPeriodIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 This function clear period interrupt of selected channel. More...
 
uint32_t PWM_GetPeriodIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 This function get period interrupt of selected channel. More...
 

Detailed Description

Mini51 series PWM driver header file.

Version
V1.00
Revision
11
Date
15/09/23 1:57p
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved.

Definition in file pwm.h.