在ESP8266 non_os SDK的 osapi.h 中,做了一些关于ets_timer与os_timer的宏定义,但是需要注意一点这两者并不等价。os_timer_disarm() 等价于ets_timer_disarm(), os_timer_setfn()等价于ets_timer_setfn()。但是其他的就不能这样照搬了,比如ets_timer_arm()就不等价于os_timer_arm()了。所以两种不同的写法分别如下
static ETSTimer udpTimer;
ets_timer_disarm(&udpTimer);
ets_timer_setfn(&udpTimer, (ETSTimerFunc *)checkWifiState, NULL);
ets_timer_arm_new(&udpTimer,1000,true);
static os_timer_t udpTimer;
os_timer_disarm(&udpTimer);
os_timer_setfn(&udpTimer, (os_timer_func_t *)checkWifiState, NULL);
os_timer_arm(&udpTimer,1000,true);