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. 学习docker 部署nginx记录

    docker pull nginx $ docker pull nginx $ docker run --name nginx-test -p 8081:80 -d nginx docker conf ...

  2. 3.使用 Code First 迁移更新数据库

    1.更新 SeedData 类,使它提供新列的值. 示例更改如下所示,但可能需要对每个 new Movie 块做出此更改. context.Movie.AddRange( new Movie { Ti ...

  3. 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序

    Quartz定时机制 首先导入jar包到程序内 quartz-all-1.6.0.jar 然后创建一个XML TimeConfig.xml 名字可以自己定义 <?xml version=&quo ...

  4. python 函数的链式调用(一个函数调用使用两个括号)

    # python 函数的链式调用 def funcA(a): def funcB(b): for a_each in a: x = funcB(a_each) return x return func ...

  5. 回归写博客时间-----CeliaTodd

    2019-10-17-19:28:01 记录自己的学习路程 国庆期间本来是有持续写博客的,但是有各种原因就没时间写博客了, 但是学习的进度还是没有落下的,现在正式回归写博客的时间了. 但现在不是写Py ...

  6. How do you run an interactive process in Dart?

    https://stackoverflow.com/questions/12682269/how-do-you-run-an-interactive-process-in-dart The test ...

  7. swiper-动态更改数据后轮播点击或拖动失效

    出现的问题: 1.swiper不能自动切换(设置了autoplay). 2.数据不匹配(需要加载的数据以改变,但是swiper里面的数据出现错误). 3.数据匹配过后,永远切换不到第一条数据. 4.根 ...

  8. SpringBoot集成MyBatis的分页插件PageHelper--详细步骤

    1.pom中添加依赖包 <!--pageHelper基本依赖 --> <dependency> <groupId>com.github.pagehelper< ...

  9. Order by 默认排序方式

    --ORDER BY 默认排序方式为升序ASC:SELECT * FROM [TABLE_NAME] ORDER BY [COLUMN_NAME] ESC;--升序DESC:SELECT * FROM ...

  10. Centos7.3安装nexus-3.14.0-04

    nexus-3.14.0-04的安装       nexus-3.14.0-04-unix.tar.gz             1.下载nexus             2.上传到服务器/root ...