建设网站外国人可搜到,中国建设银行网站设计评价,进出口外贸公司,住房和城乡建设部执法网站1、软件定时 以下接口使用的定时器由软件实现#xff0c;定时器的函数在任务中被执行。因为任务可能被中断#xff0c;或者被其他高优先级的任务延迟#xff0c;因此以下os_timer系列的接口并不能保证定时器精确执行。
注意#xff1a;
①对于同一个 timer#xff0c;os…1、软件定时 以下接口使用的定时器由软件实现定时器的函数在任务中被执行。因为任务可能被中断或者被其他高优先级的任务延迟因此以下os_timer系列的接口并不能保证定时器精确执行。
注意
①对于同一个 timeros_timer_arm或os_timer_arm_us不能重复调用必须先os_timer_disarm。②os_timer_setfn必须在 timer 未使能的情况下调用在os_timer_arm或os_timer_arm_us之前或者os_timer_disarm之后。
1、主函数user_init中加入下列代码 static os_timer_t os_timer_user;//主函数之 用户自定义定时器函数os_timer_disarm (os_timer_user);//取消定时器定时os_timer_setfn(os_timer_user, (ETSTimerFunc *)(time_user), NULL);//设置定时器回调函数。使⽤用定时器必须设置回调函数。os_timer_arm (os_timer_user, 300, true);//使能毫秒级定时器
2、软件定时执行的函数
//软件定时器回调函数
void ICACHE_FLASH_ATTR
time_user(void){static x 0;os_printf( Number_X: %d !!!\r\n,x);system_soft_wdt_feed();//这里我们喂下看门狗 不让看门狗复位
}2、硬件定时 相比软件定时来说硬件定时器则能精确执行。
注意
①如果使用 NMI 中断源且为自动填装的定时器调用hw_timer_arm时参数val必须大于 100。
②如果使用 NMI 中断源那么该定时器将为最高优先级可打断其他 ISR。
③如果使用 FRC1 中断源那么该定时器无法打断其他 ISR。
④hw_timer.c的接口不能跟 PWM 驱动接口函数同时使用因为二者共用了同一个硬件定时器。
⑤硬件中断定时器的回调函数定义请勿添加ICACHE_FLASH_ATTR宏。
⑥使用hw_timer.c的接口请勿调用wifi_set_sleep_type(LIGHT_SLEEP);将⾃自动睡眠模式设置为 Light-sleep。因为 Light-sleep 在睡眠期间会停 CPU停 CPU 期间不能响应 NMI 中断。
1、主函数user_init中加入下列代码 hw_timer_init (FRC1_SOURCE, 1);//初始化硬件ISR定时器hw_timer_set_func(hw_timer_sec);//设置定时器回调函数。使用定时器必须设置回调函数。hw_timer_arm(1000000);//使能硬件中断定时器 1 秒
2、硬件定时执行的函数
void hw_timer_sec(void){static y 0;os_printf( Number_Y: %d !!!\r\n,y);system_soft_wdt_feed();//这里我们喂下看门狗 不让看门狗复位
}