ESP8266软件定时函数(可用于机智云定时开关)
os_timer_t os_timer //定义软件定时器的结构体
void Led_Task_Run(void){ //定义回调函数
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);
//执行完毕,我们要把定时时间设置0 ,定时使能状态为false
timer_timers=0;
isTimer=false;
}
os_timer_disarm (&os_timer) //关闭定时器函数的调用
os_timer_setfn( &os_timer, (ETSTimerFunc *) ( Led_Task_Run ), NULL ) //调用回调函数,回调之前关闭定时器
os_timer_arm( &os_timer,1000, 0 ) //设置定时器参数,并且使能 0/1:表示是否重复调用定时
1000:表示毫秒
微秒定时器
#define USE_US_TIMER //调用微秒级必须定义这个参数
请在 user_init 起始第⼀一句,先调⽤用 system_timer_reinit();
os_timer_t os_timer //定义软件定时器的结构体
void Led_Task_Run(void){ //定义回调函数
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);
//执行完毕,我们要把定时时间设置0 ,定时使能状态为false
timer_timers=0;
isTimer=false;
}
os_timer_disarm (&os_timer) //关闭定时器函数的调用
os_timer_setfn( &os_timer, (ETSTimerFunc *) ( Led_Task_Run ), NULL ) //调用回调函数,回调之前关闭定时器
os_timer_arm( &os_timer,1000, 0 ) //设置定时器参数,并且使能 0/1:表示是否重复调用定时
1000:表示微秒
延时函数(微秒延时)
os_delay_us(uint16 us)
最⼤大值 65535 us
延时函数(毫秒延时)
void dely_ms (u32 c_time)
{
for(; c_time>0;c_time--)
{
os_delay_us(1000)
}
}
网友评论