44 lines
1010 B
C
44 lines
1010 B
C
|
#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
|