Statistics: Posted by eriksl — Sat Aug 27, 2016 1:08 am
Code:
static inline uint32_t ETS_INTR_ENABLED(void) // FIXME
{
uint32_t enabled;
__asm__ __volatile__("esync; rsr %0,intenable":"=a" (enabled));
return enabled;
}
Statistics: Posted by eriksl — Fri Aug 26, 2016 11:26 pm
Statistics: Posted by eriksl — Tue Aug 23, 2016 6:42 pm
Code:
enum
{
FRC1_DIVIDE_BY_1 = 0,
FRC1_DIVIDE_BY_16 = 4,
FRC1_DIVIDE_BY_256 = 8
};
enum
{
FRC1_EDGE_INT = 0,
FCR1_LEVEL_INT = 1
};
enum
{
FRC1_AUTO_LOAD = 0x0040,
FRC1_ENABLE_TIMER = 0x0080,
};
enum
{
FRC1_NMI_SOURCE = 0x8000
};
unsigned int ints;
static void intr_handler(void)
{
ints++;
}
ICACHE_FLASH_ATTR static void intr_test(void)
{
RTC_REG_WRITE(FRC1_CTRL_ADDRESS, FRC1_ENABLE_TIMER | FRC1_DIVIDE_BY_16 | FRC1_EDGE_INT);
ETS_FRC_TIMER1_INTR_ATTACH(intr_handler, NULL); // non-NMI interrupt
//ETS_FRC_TIMER1_NMI_INTR_ATTACH(intr_handler); // NMI interrupt, choose one
TM1_EDGE_INT_ENABLE();
ETS_FRC1_INTR_ENABLE();
RTC_REG_WRITE(FRC1_LOAD_ADDRESS, 256);
RTC_CLR_REG_MASK(FRC1_INT_ADDRESS, FRC1_INT_CLR_MASK);
}
Statistics: Posted by eriksl — Fri Aug 19, 2016 6:10 pm