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

相关推荐
古译汉书9 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
TDengine (老段)9 天前
TDengine IDMP 数据可视化——散点图
大数据·数据库·物联网·信息可视化·时序数据库·tdengine·涛思数据
Lupino9 天前
从逻辑“脑裂”到 AI 重构:不到 2 美金解决物联网电位反转难题
python·物联网
脚后跟9 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
极客小张9 天前
基于STM32的智能水质监测与远程预警系统设计与实现
c语言·python·stm32·单片机·嵌入式硬件·物联网
csg11079 天前
PIC单片机驱动时钟芯片DS1302(附代码)
单片机·嵌入式硬件·物联网
shandongtianhe9 天前
物联网气象监测系统:开启智慧气象新时代
物联网
沐欣工作室_lvyiyi9 天前
面向智慧农业的物联网监测系统设计(论文+源码)
单片机·物联网·毕业设计·智慧农业
AAAAA92409 天前
2026年物联网发展综述:从“万物互联”迈向“万物智联”
物联网
上海合宙LuatOS9 天前
LuatOS核心库API——【ioqueue】IO序列化操作
linux·运维·服务器·网络·嵌入式硬件·物联网·硬件工程