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)

}


}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容