first commit
This commit is contained in:
49
DIMMER_TEST_2/hw_timer.h
Normal file
49
DIMMER_TEST_2/hw_timer.h
Normal file
@@ -0,0 +1,49 @@
|
||||
#ifndef HW_TIMER_H
|
||||
#define HW_TIMER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define US_TO_RTC_TIMER_TICKS(t) \
|
||||
((t) ? \
|
||||
(((t) > 0x35A) ? \
|
||||
(((t)>>2) * ((APB_CLK_FREQ>>4)/250000) + ((t)&0x3) * ((APB_CLK_FREQ>>4)/1000000)) : \
|
||||
(((t) *(APB_CLK_FREQ>>4)) / 1000000)) : \
|
||||
0)
|
||||
|
||||
#define FRC1_ENABLE_TIMER BIT7
|
||||
#define FRC1_AUTO_LOAD BIT6
|
||||
|
||||
//TIMER PREDIVED MODE
|
||||
typedef enum {
|
||||
DIVDED_BY_1 = 0, //timer clock
|
||||
DIVDED_BY_16 = 4, //divided by 16
|
||||
DIVDED_BY_256 = 8, //divided by 256
|
||||
} TIMER_PREDIVED_MODE;
|
||||
|
||||
typedef enum { //timer interrupt mode
|
||||
TM_LEVEL_INT = 1, // level interrupt
|
||||
TM_EDGE_INT = 0, //edge interrupt
|
||||
} TIMER_INT_MODE;
|
||||
|
||||
typedef enum {
|
||||
FRC1_SOURCE = 0,
|
||||
NMI_SOURCE = 1,
|
||||
} FRC1_TIMER_SOURCE_TYPE;
|
||||
|
||||
|
||||
void hw_timer_arm(u32 val);
|
||||
void hw_timer_set_func(void (* user_hw_timer_cb_set)(void));
|
||||
void hw_timer_init(FRC1_TIMER_SOURCE_TYPE source_type, u8 req);
|
||||
//void ICACHE_RAM_ATTR blink_gpio(void);
|
||||
//volatile bool state;
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* HW_TIMER_H */
|
||||
|
||||
Reference in New Issue
Block a user