Files
r2_int_1/Library/Includes/pwm.h
T
moyuhai 02f1638ef2 V1.0
2026-06-12 09:12:35 +08:00

110 lines
2.5 KiB
C

#ifndef PWM_H
#define PWM_H
//PWMxCON
#define PWMIE(N) (N<<7) //N=0-1
#define PWMTOG(N) (N<<6) //N=0-1
#define PWMMOD(N) (N<<3) //N=0-7
#define PWMPOL(N) (N<<2) //N=0-1
#define PWMCKS_SYS 0
#define PWMCKS_IL 1
#define PWMCKS_IH 2
//PWMIF
#define PWM5IF (1<<5)
#define PWM4IF (1<<4)
#define PWM3IF (1<<3)
#define PWM2IF (1<<2)
#define PWM1IF (1<<1)
#define PWM0IF (1<<0)
//LEFLG
#define LEF1 (1<<7)
#define LEBSY1 (1<<6)
#define LEF0 (1<<3)
#define LEBSY0 (1<<2)
//PWMCON
#define TIE(N) (N<<7)
#define ZIE(N) (N<<6)
#define PIE(N) (N<<5)
#define NIE(N) (N<<4)
#define MS(N) (N<<3) //ÖÐÐÄ¶ÔÆëģʽ
#define MOD(N) (N<<0) //»¥²¹Ä£Ê½
#define CKS(N) (N) //N=0~6
//PWMCFG
#define TOG(N) (N<<7)
typedef enum {
PWM_CH0 = 0,
PWM_CH1 = 1,
PWM_CH2 = 2,
PWM_CH3 = 3,
PWM_CH4 = 4,
PWM_CH5 = 5,
} PWM_Channel_TypeDef;
typedef enum {
PWMIE_off = 0,
PWMIE_on = 1,
} PWMIE_TypeDef;
typedef enum {
CKS_SYS = 0,
CKS_IL = 1,
CKS_IH = 2,
} PWM_CKS_TypeDef;
typedef enum {
Toggle_Off = 0,
Toggle_On = 1,
} PWM_Toggle_TypeDef;
void PWM0_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM1_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal,
unsigned char pwmmod);
void PWM2_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal,
unsigned char pwmmod);
void PWM3_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM4_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM5_init( PWMIE_TypeDef ie,
PWM_CKS_TypeDef cks,
PWM_Toggle_TypeDef toggle,
unsigned char Prescal);
void PWM0_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM1_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM2_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM3_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM4_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM5_CfgDivDuty(unsigned int DIV,unsigned int DUT);
void PWM_CfgLedut(unsigned int Ledut);
void PWM_CfgLedwtm(unsigned int Ledwtm);
void PWM1_WriteLedat(unsigned char Ledat);
void PWM2_WriteLedat(unsigned char Ledat);
void PWM_Enable(PWM_Channel_TypeDef Pwmch);
void PWM_Disable(PWM_Channel_TypeDef Pwmch);
#endif