延时
/** * @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定时进入中断函数
测试

来源:https://www.cnblogs.com/yangfengwu/p/12306048.html