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

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

1.软件定时器定义

        就是软件实现定时器。

2.FreeRTOS软件定时器介绍

9.物联网操作系统之软件定时器_第1张图片

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

FreeRTOS软件定时器工作原理

9.物联网操作系统之软件定时器_第2张图片

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

二。软件定时器函数应用

1.功能需求

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

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

2.API

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

9.物联网操作系统之软件定时器_第3张图片 

(2)xTimerStart()启动定时器

9.物联网操作系统之软件定时器_第4张图片

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

9.物联网操作系统之软件定时器_第5张图片

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

9.物联网操作系统之软件定时器_第6张图片

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

9.物联网操作系统之软件定时器_第7张图片

 3.功能设计

9.物联网操作系统之软件定时器_第8张图片

 如上图所示,需要三个部分,用户在串口端设置时钟参数,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.功能现象

你可能感兴趣的:(物联网)