我们现在用NMI中断做一个信号,但发现在后台运行时,中断发生的频率会不准,似乎是被系统后台其它任务影响了。
请问具体应该怎么改?才能让NMI成为最高优先级?
如果我们用循环做delay,不回到系统后台,NMI就不会被影响,但会影响接收TCP数据
void ICACHE_FLASH_ATTR myt_init(void)
{
#define NMI_SOURCE_SEL_REG 0x3ff00000
WRITE_PERI_REG(NMI_SOURCE_SEL_REG, (READ_PERI_REG(NMI_SOURCE_SEL_REG)&~0x1F)|(0x1+0x7*2) );
NmiTimSetFunc(mytpwm_tim1_intr_handler);
RTC_REG_WRITE(FRC1_CTRL_ADDRESS, FRC1_CTRL_DIV_V | FRC1_ENABLE_TIMER | TM_EDGE_INT);
RTC_REG_WRITE(FRC1_LOAD_ADDRESS, FRC1_TOTAL_LOADV);
TM1_EDGE_INT_ENABLE();
ETS_FRC1_INTR_ENABLE();
}
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.