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.功能现象

相关推荐
linweidong6 小时前
物联网MQTT协议与实践:从零到精通的硬核指南
物联网·mqtt·websocket·嵌入式·iot·tdengine·工业物联网
门思科技7 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
MonkeyKing_sunyuhua8 小时前
微信小程序能不能获取物联网的上的设备数据
物联网·微信小程序·小程序
时序数据说9 小时前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb
技术支持者python,php10 天前
MQTT通讯:物联网
物联网·智能家居
安科瑞刘鸿鹏10 天前
ABAT100助力光储电站电池“可视化”管理
大数据·运维·网络·数据库·物联网·安全·架构
小智学长 | 嵌入式10 天前
桌面小屏幕实战课程:DesktopScreen 5 任务创建
单片机·物联网
TDengine (老段)11 天前
TDengine 3.3.5.0 新功能——服务端查询内存管控
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)11 天前
使用 Telegraf 向 TDengine 写入数据
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
CoreMaker-lab11 天前
RA4M2开发IOT(3)----配置串口
物联网·iot·ra4m2·e2studio·r7fa4m2ad3cfl·瑞萨ra·涂鸦cbu