NANO103 BSP V3.01.004
The Board Support Package for Nano103 Series
Macros | Functions
pwm.h File Reference

NANO103 series PWM driver header file. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PWM_CHANNEL_NUM   (6)
 
#define PWM_CH_0_MASK
 
#define PWM_CH_1_MASK
 
#define PWM_CH_2_MASK
 
#define PWM_CH_3_MASK
 
#define PWM_CH_4_MASK
 
#define PWM_CH_5_MASK
 
#define PWM_UP_COUNTER
 
#define PWM_DOWN_COUNTER
 
#define PWM_UP_DOWN_COUNTER
 
#define PWM_EDGE_ALIGNED
 
#define PWM_CENTER_ALIGNED
 
#define PWM_OUTPUT_NOTHING
 
#define PWM_OUTPUT_LOW
 
#define PWM_OUTPUT_HIGH
 
#define PWM_OUTPUT_TOGGLE
 
#define PWM_WGCTL0_ZPCTL0_Msk
 
#define PWM_WGCTL0_PRDPCTL0_Msk
 
#define PWM_WGCTL1_CMPUCTL0_Msk
 
#define PWM_WGCTL1_CMPDCTL0_Msk
 
#define PWM_TRIGGER_ADC_EVEN_ZERO_POINT
 
#define PWM_TRIGGER_ADC_EVEN_PERIOD_POINT
 
#define PWM_TRIGGER_ADC_EVEN_ZERO_OR_PERIOD_POINT
 
#define PWM_TRIGGER_ADC_EVEN_COMPARE_UP_COUNT_POINT
 
#define PWM_TRIGGER_ADC_EVEN_COMPARE_DOWN_COUNT_POINT
 
#define PWM_TRIGGER_ADC_ODD_COMPARE_UP_COUNT_POINT
 
#define PWM_TRIGGER_ADC_ODD_COMPARE_DOWN_COUNT_POINT
 
#define PWM_FB_EDGE_BKP0
 
#define PWM_FB_EDGE_BKP1
 
#define PWM_FB_EDGE_SYS_BOD
 
#define PWM_FB_EDGE_SYS_COR
 
#define PWM_FB_LEVEL_BKP0
 
#define PWM_FB_LEVEL_BKP1
 
#define PWM_FB_LEVEL_SYS_BOD
 
#define PWM_FB_LEVEL_SYS_COR
 
#define PWM_FB_EDGE
 
#define PWM_FB_LEVEL
 
#define PWM_CAPTURE_INT_RISING_LATCH
 
#define PWM_CAPTURE_INT_FALLING_LATCH
 
#define PWM_CAPSTS_CRIFOV0_Msk
 
#define PWM_CAPSTS_CFIFOV0_Msk
 
#define PWM_DUTY_INT_DOWN_COUNT_MATCH_CMP
 
#define PWM_DUTY_INT_UP_COUNT_MATCH_CMP
 
#define PWM_LOAD_MODE_IMMEDIATE
 
#define PWM_LOAD_MODE_CENTER
 
#define PWM_NF_CLK_DIV_1
 
#define PWM_NF_CLK_DIV_2
 
#define PWM_NF_CLK_DIV_4
 
#define PWM_NF_CLK_DIV_8
 
#define PWM_NF_CLK_DIV_16
 
#define PWM_NF_CLK_DIV_32
 
#define PWM_NF_CLK_DIV_64
 
#define PWM_NF_CLK_DIV_128
 
#define PWM_CLKSRC_PWM_CLK
 
#define PWM_CLKSRC_TIMER0
 
#define PWM_CLKSRC_TIMER1
 
#define PWM_CLKSRC_TIMER2
 
#define PWM_CLKSRC_TIMER3
 
#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_OUTPUT_INVERTER(pwm, u32ChannelMask)
 This macro enable output inverter of specified channel(s) More...
 
#define PWM_GET_CAPTURE_RISING_DATA(pwm, u32ChannelNum)
 This macro get captured rising data. More...
 
#define PWM_GET_CAPTURE_FALLING_DATA(pwm, u32ChannelNum)
 This macro get captured falling data. More...
 
#define PWM_MASK_OUTPUT(pwm, u32ChannelMask, u32LevelMask)
 This macro mask output logic to high or low. More...
 
#define PWM_SET_PRESCALER(pwm, u32ChannelNum, u32Prescaler)
 This macro set the prescaler of the selected channel. More...
 
#define PWM_SET_CMR(pwm, u32ChannelNum, u32CMR)
 This macro set the comparator 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...
 
#define PWM_CLR_COUNTER(pwm, u32ChannelMask)
 Clear counter of specified channel(s) More...
 
#define PWM_SET_OUTPUT_LEVEL(pwm, u32ChannelMask, u32ZeroLevel, u32CmpUpLevel, u32PeriodLevel, u32CmpDownLevel)
 Set output level at zero, compare up, period(center) and compare down of specified channel(s) More...
 
#define PWM_TRIGGER_BRAKE(pwm, u32ChannelMask, u32BrakeType)
 Trigger brake event from specified channel(s) More...
 
#define PWM_SET_DEADZONE_CLK_SRC(pwm, u32ChannelNum, u32AfterPrescaler)
 Set Dead zone clock source. More...
 

Functions

uint32_t PWM_ConfigCaptureChannel (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32UnitTimeNsec, uint32_t u32CaptureEdge)
 Configure PWM capture and get the nearest unit time. More...
 
uint32_t PWM_ConfigOutputChannel (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Frequency, uint32_t u32DutyCycle)
 This function Configure PWM generator and get the nearest frequency in edge aligned auto-reload mode. More...
 
void PWM_Start (PWM_T *pwm, uint32_t u32ChannelMask)
 Start PWM module. More...
 
void PWM_Stop (PWM_T *pwm, uint32_t u32ChannelMask)
 Stop PWM module. More...
 
void PWM_ForceStop (PWM_T *pwm, uint32_t u32ChannelMask)
 Stop PWM generation immediately by clear channel enable bit. More...
 
void PWM_EnableADCTrigger (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Condition)
 Enable selected channel to trigger ADC. More...
 
void PWM_DisableADCTrigger (PWM_T *pwm, uint32_t u32ChannelNum)
 Disable selected channel to trigger ADC. More...
 
void PWM_ClearADCTriggerFlag (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Condition)
 Clear selected channel trigger ADC flag. More...
 
uint32_t PWM_GetADCTriggerFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 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 channel(s) More...
 
void PWM_EnableCapture (PWM_T *pwm, uint32_t u32ChannelMask)
 Enable capture of selected channel(s) More...
 
void PWM_DisableCapture (PWM_T *pwm, uint32_t u32ChannelMask)
 Disable capture of selected channel(s) More...
 
void PWM_EnableOutput (PWM_T *pwm, uint32_t u32ChannelMask)
 Enables PWM output generation of selected channel(s) More...
 
void PWM_DisableOutput (PWM_T *pwm, uint32_t u32ChannelMask)
 Disables PWM output generation of selected channel(s) More...
 
void PWM_EnableDeadZone (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Duration)
 Enable Dead zone of selected channel. More...
 
void PWM_DisableDeadZone (PWM_T *pwm, uint32_t u32ChannelNum)
 Disable Dead zone of selected channel. More...
 
void PWM_EnableCaptureInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Edge)
 Enable capture interrupt of selected channel. More...
 
void PWM_DisableCaptureInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Edge)
 Disable capture interrupt of selected channel. More...
 
void PWM_ClearCaptureIntFlag (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32Edge)
 Clear capture interrupt of selected channel. More...
 
uint32_t PWM_GetCaptureIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Get capture interrupt of selected channel. More...
 
void PWM_EnableDutyInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32IntDutyType)
 Enable duty interrupt of selected channel. More...
 
void PWM_DisableDutyInt (PWM_T *pwm, uint32_t u32ChannelNum)
 Disable duty interrupt of selected channel. More...
 
void PWM_ClearDutyIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Clear duty interrupt flag of selected channel. More...
 
uint32_t PWM_GetDutyIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Get duty interrupt flag of selected channel. More...
 
void PWM_EnableLoadMode (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32LoadMode)
 Enable load mode of selected channel. More...
 
void PWM_DisableLoadMode (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32LoadMode)
 Disable load mode 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 flag of selected source. More...
 
void PWM_EnablePeriodInt (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32IntPeriodType)
 Enable period interrupt of selected channel. More...
 
void PWM_DisablePeriodInt (PWM_T *pwm, uint32_t u32ChannelNum)
 Disable period interrupt of selected channel. More...
 
void PWM_ClearPeriodIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Clear period interrupt of selected channel. More...
 
uint32_t PWM_GetPeriodIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Get period interrupt of selected channel. More...
 
void PWM_EnableZeroInt (PWM_T *pwm, uint32_t u32ChannelNum)
 Enable zero interrupt of selected channel. More...
 
void PWM_DisableZeroInt (PWM_T *pwm, uint32_t u32ChannelNum)
 Disable zero interrupt of selected channel. More...
 
void PWM_ClearZeroIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Clear zero interrupt of selected channel. More...
 
uint32_t PWM_GetZeroIntFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Get zero interrupt of selected channel. More...
 
void PWM_SetClockSource (PWM_T *pwm, uint32_t u32ChannelNum, uint32_t u32ClkSrcSel)
 Set PWM clock source. More...
 
void PWM_EnableBrakeNoiseFilter (PWM_T *pwm, uint32_t u32BrakePinNum, uint32_t u32ClkCnt, uint32_t u32ClkDivSel)
 Enable PWM brake noise filter function. More...
 
void PWM_DisableBrakeNoiseFilter (PWM_T *pwm, uint32_t u32BrakePinNum)
 Disable PWM brake noise filter function. More...
 
void PWM_EnableBrakePinInverse (PWM_T *pwm, uint32_t u32BrakePinNum)
 Enable PWM brake pin inverse function. More...
 
void PWM_DisableBrakePinInverse (PWM_T *pwm, uint32_t u32BrakePinNum)
 Disable PWM brake pin inverse function. More...
 
void PWM_SetBrakePinSource (PWM_T *pwm, uint32_t u32BrakePinNum, uint32_t u32SelAnotherModule)
 Set PWM brake pin source. More...
 
uint32_t PWM_GetWrapAroundFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Get the time-base counter reached its maximum value flag of selected channel. More...
 
void PWM_ClearWrapAroundFlag (PWM_T *pwm, uint32_t u32ChannelNum)
 Clear the time-base counter reached its maximum value flag of selected channel. More...
 

Detailed Description

NANO103 series PWM driver header file.

Version
V1.00
Revision
5
Date
16/02/17 7:35p
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2015 Nuvoton Technology Corp. All rights reserved.

Definition in file pwm.h.