//************************************************************ // Copyright (c) 深圳市赛元微电子有限公司 // 文件名称 : sc92f8003_pwm.h // 作者 : // 模块功能 : PWM固件库函数头文件 // 局部函数列表: // 最后更正日期: 2018/9/4 // 版本 : V1.0 // 说明 : //************************************************************* #ifndef _SC92F8003_PWM_H_ #define _SC92F8003_PWM_H_ #include "sc92f8003.h" typedef enum { PWM_PRESSEL_FOSC_D1 = (uint8_t)0x00, //PWM预分频为Fosc/1 PWM_PRESSEL_FOSC_D2 = (uint8_t)0x10, //PWM预分频为Fosc/2 PWM_PRESSEL_FOSC_D8 = (uint8_t)0x20, //PWM预分频为Fosc/8 PWM_PRESSEL_FOSC_D32 = (uint8_t)0x30 //PWM预分频为Fosc/32 } PWM_PresSel_TypeDef; typedef enum { PWM0 = (uint8_t)0x01, //PWM输出通道选择:PWM0 PWM1 = (uint8_t)0x02, //PWM输出通道选择:PWM1 PWM2 = (uint8_t)0x04, //PWM输出通道选择:PWM2 PWM3 = (uint8_t)0x08, //PWM输出通道选择:PWM3 PWM4 = (uint8_t)0x10, //PWM输出通道选择:PWM4 PWM5 = (uint8_t)0x20, //PWM输出通道选择:PWM5 PWM6 = (uint8_t)0x40 //PWM输出通道选择:PWM6 } PWM_OutputPin_TypeDef; typedef enum { PWM0PWM3 = (uint8_t)0x00, //PWM互补模式通道选择:PWM0、PWM3 PWM1PWM4 = (uint8_t)0x01, //PWM互补模式通道选择:PWM1、PWM4 PWM2PWM5 = (uint8_t)0x02 //PWM互补模式通道选择:PWM2、PWM5 } PWM_ComplementaryOutputPin_TypeDef; typedef enum { PWM_OUTPUTSTATE_DISABLE = ((uint8_t)0x00), //该PIN脚作为GPIO PWM_OUTPUTSTATE_ENABLE = ((uint8_t)0x01) //该PIN脚作为PWM } PWM_OutputState_TypeDef; typedef enum { PWM_POLARITY_NON_INVERT = ((uint8_t)0x00), //PWM输出不反向 PWM_POLARITY_INVERT = ((uint8_t)0x01) //PWM输出反向 } PWM_Polarity_TypeDef; void PWM_DeInit(void); void PWM_Init(PWM_PresSel_TypeDef PWM_PresSel,uint16_t PWM_Period); void PWM_OutputStateConfig(uint8_t PWM_OutputPin,PWM_OutputState_TypeDef PWM_OutputState); void PWM_PolarityConfig(uint8_t PWM_OutputPin,PWM_Polarity_TypeDef PWM_Polarity); void PWM_IndependentModeConfig(PWM_OutputPin_TypeDef PWM_OutputPin, uint16_t PWM_DutyCycle); void PWM_ComplementaryModeConfig(PWM_ComplementaryOutputPin_TypeDef PWM_ComplementaryOutputPin,uint16_t PWM_DutyCycle); void PWM_DeadTimeConfig(uint8_t PWM012_RisingDeadTime,uint8_t PWM345_fallingDeadTime); void PWM_Cmd(FunctionalState NewState); void PWM_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus PWM_GetFlagStatus(void); void PWM_ClearFlag(void); #endif /******************* (C) COPYRIGHT 2018 SinOne Microelectronics *****END OF FILE****/