【OpenCPU专区】MN316OpenCPU丨定时器使用介绍

菩禔看科技 2024-04-21 19:40:40

定时器是客户应用是最常见的功能之一,本文主要介绍软件定时器和RTC定时器的函数接口,以及实际使用中的注意事项。

一、软件定时器使用流程解析

图1 软件定时器使用流程

二、软件定时器接口与代码解析

2.1、定义软定时器回调函数

(1)该函数为定时器的功能函数,定时完成执行该函数;

(2)回调函数内不能包含延迟函数;

(3)形参与返回值必须与回调函数格式对应;

(4)回调函数内,不能执行太复杂的功能,若有复杂功能需要实现,通常把回调函数用于发送信号量给功能线程,在该线程中执行该功能。

图2 定义软定时器回调函数

2.2、软定时器命名

(1)该参数用配置名即可。

图3 软定时器命名接口

2.3、创建软件定时器

(1)osTimerNew 返回值为该软件定时器的空间的首地址;

(2)soft_timer_callback 为回调函数的首地址(函数的名字为该函数的首地址);

(3)osTimerOnce,为配置单次触发定时器,osTimerPeriodic为周期性触发该回调;

(4)argument参数不用设置为空或者0;

(5)之前配置完成的osTimerAttr_t的地址。

图4 创建软定时器接口

2.4、开启软件定时器

(1)参数一:定时器地址;

(2)参数二:定时器实际时间值,单位ms;

(3)如果该函数为单次定时器:则过XXXms执行一次回调函数;

(4)如果该函数为周期性定时器,则以XXXms为周期执行回调函数;

(5)重复调用,此函数将重新计时。

图5 软定时器开启接口

2.5、停止软件定时器

该函数将不会执行回调函数,但是可以重新开启即重新调用osTimerStart来继续执行回调函数。

图6 软定时器停止接口

2.6、获取软件定时器名字

图7 获取软定时器名称接口

2.7、判断该定时器是否开启

ret:为0未开启,为1开启。

图8 判断定时器运行接口

2.8、删除定时器,释放定时器空间

删除后,不能调用该定时器,必须重新创建。

图9 删除软定时器接口

三、软件定时器demo演示

图10 定义软定时器回调函数

图11 创建软定时器

图12 启动软定时器

图13 判断软定时器执行

图14 软定时器Demo运行结果

四、RTC定时器使用流程解析

即便模组进入睡眠模式,RTC定时器仍然继续计时,计时结束后唤醒模组。

图15 RTC定时器使用流程

五、RTC定时器接口与代码解析

5.1、获取当前RTC时间

(1)time_t 为long long int 类型;

(2)网络附着获取为当前网络时间,否则默认时间从2000-1-1开始,精确到秒,返回的是一个UNIX时间。

图16 获取RTC时间接口

5.2、获取北京时间的UTC时间

(1)返回0成功,小于0失败;

(2)tm结构体如图17;

(3)网络附着获取为当前网络时间,否则默认时间从2000-1-1开始。

图17 获取RTC北京UTC时间接口

5.3、设置当前系统时间

返回值 0成功,1失败。

图18 设置当前系统时间接口

5.4、启动RTC定时器

(1)timer_id:有四个RTC定时可以使用,参考结构体cm_rtc_timer_id_e;

(2)timeout定时时间,单位秒;

(3)rtc定时器回调函数cb,到定点时间执行该回调函数; 形参返回值必须与typedef void (*cm_rtc_timer_cb)(void * arg);该函数一致;

(4)data用户参数可不填写,一般为NULL或者(void *)0。

图19 启动RTC定时器接口

5.5、停止rtc定时器

图20 停止RTC定时器接口

六、RTC定时器demo演示

图21 定义RTC定时器回调

图22 未驻网获取RTC时间,设置一个系统时间

图23 启动RTC定时器,当前设置的系统时间60秒后,执行回调

图24 RTC定时器例程运行结果

以上便是MN316 OpenCPU下软定时器和RTC定时器相关demo的代码解析及应用介绍。





转载自中移物联网,仅供模组品牌对应于中移物联网模组体系参考。

声明:《菩禔物联》所发表内容均为原创,所有原创内容仅用于交流,不代表任何立场和观点。极少数优才文章注明来源的,版权归原出处所有(无法查证版权的或未注明出处的均来源于网络搜集)。如有侵权,请联系我们删除或更改。内容的真实性、准确性和合法性由原作者负责。转载内容(视频、文章、广告等)只以信息传播为目的,仅供参考,不代表本平台认同其观点和立场。

The content published in the Bodhi Union of Things is original, and all original content is for communication purposes only and does not represent any position or viewpoint. A very small number of excellent talent articles indicate their source, and the copyright belongs to the original source (those that cannot be verified or whose source is not indicated are all collected online). If there is any infringement, please contact us to delete or make changes. The authenticity, accuracy, and legality of the content are the responsibility of the original author. The reprinted content (videos, articles, advertisements, etc.) is only for the purpose of information dissemination and is for reference only. It does not mean that this platform agrees with its views and positions.

0 阅读:0

菩禔看科技

简介:感谢大家的关注