| 
 
 
 RTOS(2.2.0)    RTOS(2.2.0)     RTOS(2.2.0)
 注:延时,软件定时器,硬件定时器,只需要包含  #include "osapi.h" 
 
 
 
 1.延时 os_delay_us(us)
 
 
 2.软件定时器 
 #include "osapi.h"
 
 
 
 
 
 
 os_timer_t os_timer_one;//定义软件定时器结构体变量
 
 
 
 
 
 
 /**
 * @brief   定时器回调函数
 * @param   parg:传入的配置os_timer_setfn函数最后的参数
 * @param   None
 * @param   None
 * @param   None
 * @retval  None
 * @warning None
 * @example
 **/
 void os_timer_one_function(void *parg)
 {
 os_printf("parg:%s\n", parg);//打印一下传过来的参数
 }
 
 
 
 
 
 
 //配置定时器
 os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");//os_timer_one:定时器结构体变量    os_timer_one_function:回调函数    yang:传给回调函数的参数
 //使能定时器
 os_timer_arm(&os_timer_one,500,1);//os_timer_one:定时器变量        500:500ms进一次    1:循环
 
 
 测试 
 停止定时器void os_timer_disarm (os_timer_t ∗ptimer) 
 os_timer_disarm(&os_timer_one)
 
 
 
 
 
 
 3.硬件定时器 
 
 /**
 * @brief   硬件定时器中断回调函数
 * @param   None
 * @param   None
 * @param   None
 * @param   None
 * @retval  None
 * @warning None
 * @example
 **/
 u32 cnt = 0;
 void hw_test_timer_cb(void)
 {
 cnt++;
 if(cnt>1000)//1S
 {
 cnt=0;
 os_printf("1111111111111\n");//打印
 }
 }
 
 
 
 
 
 
 //定时器初始化
 hw_timer_init(0,1);//1:循环
 //设置定时器回调函数
 hw_timer_set_func(hw_test_timer_cb);//hw_test_timer_cb:硬件定时器中断回调函数
 hw_timer_arm(1000);//1000:1000us定时进入中断函数
 
 
 
 
 测试 
 
 
 
 
 RTOS
 RTOSRTOS
 1.延时 /**
 * @brief  Delay function, maximum value: 65535 us.
 *
 * @param  uint16 us : delay time, uint: us, maximum value: 65535 us
 *
 * @return null
 */
 void os_delay_us(uint16 us);
 
 
 
 
 软件定时器
 
 
 
 
 
 代码
 
 
 #include "esp_timer.h" /**
 * @brief   定时器回调函数
 * @param   parg:传入的配置os_timer_setfn函数最后的参数
 * @param   None
 * @param   None
 * @param   None
 * @retval  None
 * @warning None
 * @example
 **/
 void os_timer_one_function(void *parg)
 {
 printf("parg:%s\n", parg);//打印一下传过来的参数
 }
 
 
 
 
 
 
 
 
 //配置定时器
 os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");//os_timer_one:定时器结构体变量    os_timer_one_function:回调函数    yang:传给回调函数的参数
 //使能定时器
 os_timer_arm(&os_timer_one,500,1);//os_timer_one:定时器变量        500:500ms进一次    1:循环
 
 
 测试
 
 
 解除定时器void os_timer_disarm (os_timer_t ∗ptimer)
 
 os_timer_disarm(&os_timer_one)
 
 
 
 
 
 
 硬件中断定时器
 
 
 
 代码
 
 
 #include "hw_timer.h" /**
 * @brief   硬件定时器中断回调函数
 * @param   None
 * @param   None
 * @param   None
 * @param   None
 * @retval  None
 * @warning None
 * @example
 **/
 u32 cnt = 0;
 void hw_test_timer_cb(void)
 {
 cnt++;
 if(cnt>1000)//1S
 {
 cnt=0;
 printf("1111111111111\n");//打印
 }
 }
 
 
 
 
 //定时器初始化
 hw_timer_init(1);//1:循环
 //设置定时器回调函数
 hw_timer_set_func(hw_test_timer_cb);//hw_test_timer_cb:硬件定时器中断回调函数
 hw_timer_arm(1000);//1000:1000us定时进入中断函数
 
 
 测试
 
 
 |