2020-02-04

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)

}


}

你可能感兴趣的:(2020-02-04)