Nano100BN Series BSP  V3.03.002
The Board Support Package for Nano100BN Series
NuEdu-Basic01_RGBLED.c
Go to the documentation of this file.
1 /**************************************************************************/
12 #include <stdio.h>
13 #include "Nano100Series.h"
14 #include "NuEdu-Basic01_RGBLED.h"
15 
16 
33 void Initial_PWM_LED(void)
34 {
35  /* Set PA 12,13,7 multi-function pins for PWM0 channel 0,1,2*/
36  SYS->PA_H_MFP = (SYS->PA_H_MFP & ~(SYS_PA_H_MFP_PA12_MFP_Msk | SYS_PA_H_MFP_PA13_MFP_Msk));
37  SYS->PA_L_MFP = (SYS->PA_L_MFP & ~(SYS_PA_L_MFP_PA7_MFP_Msk));
40 }
41 
47 void PWM_LED(void)
48 {
49  /* Enable PWM clock */
51  /* Set HCLK as PWM clock source */
54  // PWM0 frequency is 100Hz, duty 30%,
55  PWM_ConfigOutputChannel(PWM0, 0, 100, 30);
56  PWM_ConfigOutputChannel(PWM0, 1, 100, 30);
57  PWM_ConfigOutputChannel(PWM0, 2, 100, 30);
58  // Enable output of all PWM channels
59  PWM_EnableOutput(PWM0, 0x07);
60  PWM_Start(PWM0, 0x07);
61 }
62  /* end of group Nano130_Basic01_FUNCTIONS Buzzer Exported Functions */
64  /* end of group NuEdu-SDK-Nano130_Basic01 Nano130_Basic01 Library */
66  /* end of group NANO100_Library NANO100 Library */
68 /*** (C) COPYRIGHT 2013 Nuvoton Technology Corp. **
void PWM_EnableOutput(PWM_T *pwm, uint32_t u32ChannelMask)
This function enables PWM output generation of selected channels.
Definition: pwm.c:334
#define SYS_PA_H_MFP_PA12_MFP_Msk
#define SYS_PA_H_MFP_PA12_MFP_PWM0_CH0
Definition: sys.h:174
void CLK_EnableModuleClock(uint32_t u32ModuleIdx)
This function enable module clock.
Definition: clk.c:436
#define SYS_PA_L_MFP_PA7_MFP_Msk
#define PWM0_CH23_MODULE
Definition: clk.h:309
Nano100 series peripheral access layer header file. This file contains all the peripheral register's ...
#define CLK_CLKSEL1_PWM0_CH23_S_HCLK
Definition: clk.h:129
#define SYS_PA_H_MFP_PA13_MFP_Msk
#define PWM0_CH01_MODULE
Definition: clk.h:310
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.
Definition: pwm.c:37
#define SYS_PA_L_MFP_PA7_MFP_PWM0_CH2
Definition: sys.h:102
#define CLK_CLKSEL1_PWM0_CH01_S_HCLK
Definition: clk.h:124
void Initial_PWM_LED(void)
Set multi-function pins for PWM0 channel 0,1,2.
void PWM_LED(void)
Set PWM clock enable and HCLK as PWM clock source, PWM frequency is 100Hz, duty 30% and enable output...
#define SYS_PA_H_MFP_PA13_MFP_PWM0_CH1
Definition: sys.h:167
NuEdu-Basic01 RGB LED driver header file for NuEdu-SDK-Nano130.
void PWM_Start(PWM_T *pwm, uint32_t u32ChannelMask)
This function start PWM module.
Definition: pwm.c:227
void CLK_SetModuleClock(uint32_t u32ModuleIdx, uint32_t u32ClkSrc, uint32_t u32ClkDiv)
This function set selected module clock source and module clock divider.
Definition: clk.c:339
#define PWM0
Pointer to PWM0 register structure.
#define SYS
Pointer to SYS register structure.