ESP8266软件定时器使用小结

我使用的是ESP8266-12F物联网开发板,编程软件是AiThinker_IDE。

软件定时器使用模板小结:

//!!!全局变量!!!
os_timer_t OS_Timer_1;       //①:定义软件定时器(os_timer_t型结构体)

void ICACHE_FLASH_ATTR OS_Timer_1_cb(void)      // ②:定义回调函数
{
   
	...
    //此处编写要执行的操作代码
}

void ICACHE_FLASH_ATTR OS_Timer_1_Init(u32 time_ms, u8 time_repetitive)
{
   
     os_timer_disarm(&OS_Timer_1);     // ③:关闭软件定时器
     os_timer_setfn(&OS_Timer_1,(os_timer_func_t *)OS_Timer_1_cb, NULL); // ④:设置定时器、回调函数、回调函数的参数
     os_timer_arm(&OS_Timer_1, time_ms, time_repetitive);  // ⑤:使能定时器、设置定时时间、设置是否重复定时

}


void ICACHE_FLASH_ATTR user_init(void)
{
   
    ...
    //其他的初始化操作
    
   OS_Timer_1_Init(500,1);        // 500ms(重复) //调用软件定时器


}

软件定时器例程:

user_main.c中:

// 头文件引用
//==================================================================================
#include "user_config.h"		// 用户配置
#include "driver/uart.h"  		// 串口

#include "c_types.h"			// 变量类型
#include "eagle_soc.h"			// GPIO函数、宏定义

#include "ets_sys.h"			// 回调函数

#include "os_type.h"			// os_XXX
#include "osapi.h"  			// os_XXX、软件定时器

#include "user_interface.h" 	// 系统接口、system_param_xxx接口、WIFI、RateContro
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值