K74B/87400/drivers/hal/inc/pwm_aux_device.h

44 lines
1010 B
C
Raw Normal View History

2024-01-25 14:22:18 +08:00
#ifndef PWM_AUX_DEVICE_H__
#define PWM_AUX_DEVICE_H__
#include <stdint.h>
#include <stdbool.h>
#include <meta.h>
#include <gpio_device.h>
typedef void (*PwmAuxIsrCallback_t)(void);
typedef enum{
PWMAUX_CHANNEL_0 = 0U,
PWMAUX_CHANNEL_1,
PWMAUX_CHANNEL_2,
PWMAUX_CHANNEL_3,
PWMAUX_CHANNEL_4,
PWMAUX_CHANNEL_5,
}PwmAuxChannel_t;
typedef enum{
PWMAUX_BASE_0 = 0U,
PWMAUX_BASE_1,
}PWMAUX_ClockSource_t;
typedef enum{
PWMAUX_CLK_DIV_1 = 0U,
PWMAUX_CLK_DIV_2,
PWMAUX_CLK_DIV_4,
PWMAUX_CLK_DIV_8,
PWMAUX_CLK_DIV_16,
PWMAUX_CLK_DIV_64,
PWMAUX_CLK_DIV_256,
PWMAUX_CLK_DIV_1024,
}PWMAUX_Prescaler_t;
void PWMAUX_Init(PwmAuxChannel_t channel,PWMAUX_ClockSource_t source,PWMAUX_Prescaler_t divider,uint16_t peroid);
void PWMAUX_RegisterReloadIRQ(PWMAUX_ClockSource_t source, PwmAuxIsrCallback_t callback);
void PWMAUX_UnRegisterReloadIRQ(PWMAUX_ClockSource_t source);
void PWMAUX_SetMatchValue(PwmAuxChannel_t channel, uint16_t matchRisingValue, uint16_t matchFaillValue);
#endif