当前位置: 首页 > news >正文

9.物联网操作系统之软件定时器

一。软件定时器概念及应用

1.软件定时器定义

        就是软件实现定时器。

2.FreeRTOS软件定时器介绍

        如上图所示,Times的左边为设置定时器时间,设置方式可以为任务设置或者中断设置;Times的右边为定时器的定时相应,使用CalBack相应。 

FreeRTOS软件定时器工作原理

 软件定时器可以参考一下手机的闹钟。单次响应与多次响应。

二。软件定时器函数应用

1.功能需求

- 使用软件定时器功能完成闹钟功能设计

- 当闹钟到达时,可根据执行动作,触发相关的led亮灭

2.API

(1)xTimerCreate()创建一个定时器

 

(2)xTimerStart()启动定时器

(3) xTimerReset()重启软件定时器

(4)pvTimerGetTimerID()获取软件定时器标识符值

(5)xTimerChangePeriod()修改软件定时器周期值

 3.功能设计

 如上图所示,需要三个部分,用户在串口端设置时钟参数,RTC作为定时器的核心,并驱动GPIO

(1)串口命令定义

1.设置实时时钟 参数头:年-月-日,小时:分钟:秒 realtime:2019-2-19,16:31:00

2.设置闹钟参数 参数头:小时:分钟:秒,是否重复,操作LED动作 alarmtime:16:32:40,0,0

(2)功能业务划分

1.实时时钟:RTC功能开发

2.命令参数配置:串口解析功能开发

3.软件定时功能:软件定时器

4.多任务消息同步:消息队列

4.功能实现

(1)Cubemx配置

1.配置RTC

2.配置串口

3.创建任务

4.创建消息队列

(2)实时时钟读写操作

1.设置实时时钟

2.读取实时时钟

(3)命令解析任务

1.使能串口接收中断

2.串口中断发送消息队列

3.解析命令字符串

4.解析实时时钟字符串

5.解析闹钟字符串

6.计算闹钟与实时时钟间隔

(3)软件定时器回调函数

1.定时器打印实时时钟

2.闹钟回调函数

(4)LED处理任务

LED处理任务

5.功能现象

http://www.lryc.cn/news/110140.html

相关文章:

  • Windows Server 2012 R2 安装 Oracle RAC 11g R2
  • 本地shell无法连接ubuntu,解决办法?
  • 关于openwrt的802.11w 管理帧保护使用
  • centos手动离线安装php,nginx
  • Java基础六 - Collection集合List、Set、Queue,Map
  • k8s nginx+ingress 配置
  • 探索Streamlit中强大而灵活的 st.write() 函数(五):构建丰富多样的应用界面
  • LinAlgError: Singular matrix 问题解决
  • 【ASP.NET MVC】使用动软(五)(13)
  • MongoDB面试题
  • Python Web 开发 Flask 介绍
  • 本地mvn仓库清理无用jar包
  • MySQL的常用函数大全
  • 一百四十三、Linux——Linux的CentOS 7系统语言由中文改成英文
  • 一 关于idea如何在svn进行项目下载并运行成功
  • python使用selenium 打开谷歌浏览器闪退, 怎么解决
  • .net 6 efcore一个model映射到多张表(非使用IEntityTypeConfiguration)
  • CISCO MDS 9148 SAN Switch 交换机命令配置方法:
  • 图的深度、广度优先探索(数据结构)
  • c语言小知识点
  • C++ - 模板分离编译
  • 如何把非1024的采样数放入aac编码器
  • linux安装nodejs和vue
  • spring整合mybatis
  • Spring指定bean在哪个应用加载
  • 二维网格划分 LRU缓存设计
  • C++中使用 sizeof 确定变量的长度
  • 我们的衣物收纳商品政策
  • 代码随想录算法训练营第25天| 第七章 回溯算法part02: leetcode 216、leetcode 17
  • WebAPI文档与自动化测试