https://www.cnblogs.com/yangfengwu/p/11094009.html

定时器有两种,软件定时器和硬件定时器

软件定时器就是靠里面的任务延时实现的,,这样的定时器其实延时不准确

硬件定时器 就是硬件中断定时器,咱都学过单片机,中断的准确

先看软件定时器

具体大家看下面

所以第一步,定义一个定时器变量

可以看这个文件,咱就是用这个头文件

os_timer_t os_timer_one;//定义一个全局的定时器结构体变量

先看带参数的

void *XXX   就是说可以接收任意的指针变量

//定义一个定时器用的回调函数
void os_timer_one_function(void *parg)
{
printf("parg:%s\n", parg);//打印一下传过来的参数
GPIO_OUTPUT_SET(, -GPIO_INPUT_GET());//GPIO5输出 反转
}

os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");//配置定时器          定时器结构体变量         回调函数                   传给回调函数的参数
os_timer_arm(&os_timer_one,,);//使能定时器 os_timer_one--定时器变量 500--500ms进一次 1--循环进去

下载进去

500ms亮   500ms灭

其实这个参数是

os_timer_setfn(&os_timer_one,os_timer_one_function,"yang");
这个时候传过去的,只传这一次,只不过,局部变量的值设置了是yang 后期进中断的时候都没有去设置这个参数

不带参数就不说了哈

大家自己测试,报不报错就看官方底层怎么写的了

现在看硬件中断定时器

然后...官方给了例子

咱就稍微改改回调函数里面的

程序挂了......不可以运行了,总是=重启

然后我把

程序又好了

我感觉这个定时器是us级的定时器

1000  才1ms

1ms进一次执行  printf    printf还没执行完  中断又到了     所以程序崩了

u32 cnt = ;
void hw_test_timer_cb(void)
{
cnt++;
if(cnt>)
{
cnt=;
printf("1111111111111:%s\n");//打印
}
}

忘了..我后面怎么加了个%s  忘了去掉了

https://www.cnblogs.com/yangfengwu/p/11100552.html

11-ESP8266 SDK开发基础入门篇--软硬件定时器的更多相关文章

  1. 1-ESP8266 SDK开发基础入门篇--开发环境搭建

    因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/cate ...

  2. 25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器

    https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究   选择3 ...

  3. 16-ESP8266 SDK开发基础入门篇--TCP 服务器 非RTOS运行版,串口透传(串口回调函数处理版)

    https://www.cnblogs.com/yangfengwu/p/11105466.html 其实官方给的RTOS的版本就是在原先非RTOS版本上增加的 https://www.cnblogs ...

  4. 10-ESP8266 SDK开发基础入门篇--上位机通过串口控制ESP8266灯亮灭

    https://www.cnblogs.com/yangfengwu/p/11087618.html 其实这一节就是对上三节的综合测试 https://www.cnblogs.com/yangfeng ...

  5. 26-ESP8266 SDK开发基础入门篇--编写WIFI模块 SmartConfig/Airkiss 一键配网

    https://www.cnblogs.com/yangfengwu/p/11427504.html SmartConfig/Airkiss 配网需要APP/微信公众号,这节大家先使用我做好的APP/ ...

  6. 18-ESP8266 SDK开发基础入门篇--TCP 服务器 RTOS版,串口透传,TCP客户端控制LED

    https://www.cnblogs.com/yangfengwu/p/11112015.html 先规定一下协议 aa 55 02 01 F1 4C 控制LED点亮  F1 4C为CRC高位和低位 ...

  7. 29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)

    https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的 ...

  8. 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...

  9. 3-ESP8266 SDK开发基础入门篇--点亮一个灯

    https://www.cnblogs.com/yangfengwu/p/11072834.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevel ...

随机推荐

  1. C# vb .net实现玻璃桌子效果滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的玻璃桌子效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  2. python 基础(集合)

    #set里的元素是唯一的,即没有重复的,可以用set()函数,去数据的重复冗余 L = [1,1,1,2,4,5,6,7] S = set(L) print(S) #打印结果{1, 2, 4, 5, ...

  3. spring中bean的作用域属性singleton与prototype的区别

    1.singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会 ...

  4. 2019-07-24 require 和 include的区别

    require 和 include 都是文件引入的常用用法.那他们有什么区别吗? 首先我们创建一个需要引入的文件叫做test.php,里面写上简单的一行代码: echo "我是要被引入的文件 ...

  5. JavaWeb 之 三层架构:软件设计架构

    界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互. 业务逻辑层:处理业务逻辑的. 数据访问层:操作数据存储文件.

  6. WPF应用打包流程

    1,安装工程模板插件Microsoft Visual Studio Installer Projects https://marketplace.visualstudio.com/items?item ...

  7. Redis中如何发现并优化big key?

    Redis中的大key一直是重点需要优化的对象,big key既占用比较多的内存,也可能占用比较多的网卡资源,造成redis阻塞,因此我们需要找到这些big key进行优化 一.寻找big key 通 ...

  8. CSS的一个小bug,Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.

    在vue重新渲染页面的时候,报了一个错误: 翻译了报错信息后,Gradient has outdated direction syntax. New syntax is like to left in ...

  9. Linux防火墙Firewall-cmd 基础

    一.简介 ​ firewall-cmd 是firewalld服务的一个命令行客户端,提供了对防火墙规则的增删查改.firewalld自身并不具备防火墙的功能.它和iptables一样需要通过内核net ...

  10. oracle instantclient_12_2安装

    下载地址 http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index ...