0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定时器已安排!开发小白看过来~

青山老竹农 ? 来源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-31 14:30 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文将为您详细介绍Air201定时器的基本操作与设置,确保您轻松上手,包教包会!

在Air201模组搭载的LuatOS系统中,定时器(timer)是一项基础且关键的服务。

它允许开发者在特定的时间点或周期性地执行代码段,为物联网设备的运行提供了精确的时间控制。在多种应用场景中都发挥着重要作用,例如:定时发送数据、周期性检查传感器状态等。

Air201最新资料下载:

www.air201.cn

wKgZPGdyL2WACRwBAAWEm5fvrMI521.png


本文将通过demo示例,带你了解单次触发定时器和周期性触发定时器的基本功能,以及如何通过定时器回调函数执行特定任务,在实际开发中可根据具体情况灵活应用。

软硬件相关准备工作及最新示例源码下载详见:

https://docs.openluat.com/air201/luatos/app/service/timer

一. 定时器(timer)基本用法

1.1 sys.timerStart

功能说明:

启动一个定时器,该定时器在指定的延迟时间后执行回调函数,或者如果指定了重复次数,则周期性地执行回调函数。

函数原型:

local timerId = sys.timerStart(func, timeout, repeat, arg1, arg2, ..., argN)

相关参数:

func:

定时器触发时要执行的回调函数。

timeout:

定时器启动后的延迟时间(以毫秒为单位),即定时器触发前需要等待的时间。

repeat(可选):

指定定时器是否重复触发。如果为0,则定时器只触发一次;如果为正整数,则定时器会重复触发指定的次数;如果为负整数(如-1),则定时器可能表示无限重复(具体取决于LuatOS的实现,但通常-1 用于无限循环)。

arg1, arg2, ..., argN(可选):

传递给回调函数的参数,可以是多个。

示例代码:

wKgZO2dyL42AWngfAAYR1MKxED0013.png

1.2 sys.timerStop

功能说明:

停止一个已启动的定时器。

函数原型:

sys.timerStop(timerId)

相关参数:

timerId:要停止的定时器的唯一标识符。

示例代码:

wKgZO2dyL7CAU04PAABm7N3ZNoA015.png

1.3 sys.timerLoopStart

功能说明:

启动一个周期性定时器,该定时器会按照指定的时间间隔反复执行回调函数。

函数原型:

local timerId = sys.timerLoopStart(func, time

out, arg1, arg2, ..., argN)。

相关参数:

func:

定时器触发时要执行的回调函数。

timeout:

定时器的时间间隔(以毫秒为单位),即每次触发之间的等待时间。

arg1, arg2, ..., argN:

传递给回调函数的参数(可选),可以是多个。

示例代码:

wKgZPGdyL8eAF4kdAAU4V8Ei7HY682.png

1.4 sys.timerStopAll

功能说明:

停止所有由指定回调函数启动的定时器,或者如果没有提供回调函数参数,则停止所有定时器。

函数原型:

sys.timerStopAll([fnc])

相关参数:

fnc(可选):一个回调函数。

如果提供了这个参数,那么只有由这个回调函数启动的定时器会被停止。如果没有提供这个参数,那么所有的定时器都会被停止。

示例代码:

wKgZO2dyL-OAR7CcAANRje3S1_U817.png


二. 定时器(timer)整体演示

2.1 完整示例

wKgZPGdyMBSAMjRzAASz2Tuta3o193.png

2.2 运行结果

wKgZO2dyMDmAWG33AAQTjRVtu88875.pngwKgZPGdyMFiAebTuAAaOszA9U0I169.pngwKgZO2dyMG6AWfJ1AAdvGi1gUyI790.png


三. 定时器应用注意事项

3.1 回调函数执行异常

如果定时器的回调函数中存在异常处理不当的情况,可能会导致程序崩溃或产生不可预知的行为。需要在回调函数中做好异常处理,确保程序的健壮性。

3.2 定时器冲突

在多个定时器同时存在的情况下,可能会存在定时器冲突的问题,即多个定时器同时触发或相互干扰。需要合理设计定时器的触发时间和周期,避免冲突的发生。

3.3 资源占用问题

定时器的创建、启动和停止等操作可能会占用一定的系统资源,如内存、CPU等。在资源受限的嵌入式系统中,需要合理管理定时器的使用,避免资源过度占用。

3.4 定时器ID管理

在使用定时器接口函数时,通常会返回一个定时器ID用于后续操作。如果定时器ID管理不当,可能会导致无法正确停止或删除定时器。需要建立良好的定时器ID管理机制,确保定时器的正确操作。

3.5 定时器重复启动问题

在某些情况下,可能会不小心重复启动同一个定时器,导致多个相同的定时器同时存在。这可能会导致资源浪费或任务重复执行。需要确保定时器的唯一性和正确性。

3.6 定时器的嵌套与递归

嵌套定时器:

在某些情况下,一个定时器的回调函数可能会启动另一个定时器。这种嵌套定时器的使用需要特别小心,以避免无限递归或资源耗尽。

递归定时器:

递归定时器是指一个定时器在其回调函数中重新启动自己。这种用法需要特别注意避免无限循环和堆栈溢出。

3.7 定时器的动态调整

周期调整:

在某些应用中,可能需要动态调整定时器的周期。这通常涉及停止当前定时器并重新启动一个新周期的定时器。

任务优先级调整:

对于某些实时性要求较高的任务,可能需要动态调整定时器的优先级,以确保任务能够及时执行。

今天的内容就分享到这里了~


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3301

    浏览量

    119207
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第二十章 TIM——基本定时器

    本章介绍了W55H32基本定时器TIM6、TIM7,16位向上计数,含时钟源、预分频等,讲解定时计算及初始化结构体。
    的头像 发表于 06-20 13:51 ?411次阅读
    第二十章 TIM——基本<b class='flag-5'>定时器</b>

    TIMER定时器

    TIMER0和TIMER7定时器载波相位有偏差,如何解决
    发表于 06-06 14:41

    第十二章 SysTick——系统定时器

    本章介绍了W55MH32的SysTick系统定时器,它是24位递减计数,含4个寄存,可配置定时、中断,用于产生时基 等。
    的头像 发表于 05-22 17:16 ?504次阅读
    第十二章 SysTick——系统<b class='flag-5'>定时器</b>

    MCU定时器/计数

    RISC-V核低功耗MCU通过灵活的定时器架构、低功耗模式适配及硬件级中断优化,在工业控制、智能家居等场景中实现高精度计时与能耗控制的协同设计,满足复杂任务调度与实时响应的双重需求?。 一、?硬件
    的头像 发表于 04-27 13:54 ?333次阅读

    详解CKS32F107xx系列的定时器同步功能

    CKS32F107xx系列部分定时器在内部是相连的,可用于定时器同步或链接,方便用户配置不同的同步模式,以便在电机控制、数据采集和PWM信号生成等应用中,实现复杂的时间序列和多通道的同步操作。本节课
    的头像 发表于 11-26 17:51 ?1083次阅读
    详解CKS32F107xx系列的<b class='flag-5'>定时器</b>同步功能

    门头灯定时器怎么调开关时间

    在现代商业环境中,门头灯不仅是企业形象的一部分,也是吸引顾客的重要手段。然而,手动控制门头灯的开关往往既耗时又容易出错。为了解决这一问题,门头灯定时器应运而生,它通过预设的时间表自动控制门头灯的开关
    的头像 发表于 10-17 14:14 ?3626次阅读

    灯光定时器自动控制怎么调

    灯光定时器自动控制是一种智能家居设备,它允许用户设定特定的时间来开启或关闭灯光,从而实现节能和自动化控制。这种设备通常可以通过物理按钮、遥控或者智能手机应用程序来设置。 灯光定时器
    的头像 发表于 10-17 14:13 ?4365次阅读

    定时器自动控制开关怎么设置

    定时器自动控制开关是一种常见的自动化设备,广泛应用于家庭、工业、农业等多个领域。通过定时器,用户可以预设时间,让设备在特定时间自动开启或关闭,从而实现节能、提高效率和便利性。 一、定时器
    的头像 发表于 09-19 16:19 ?4173次阅读

    LM555-MIL定时器数据表

    电子发烧友网站提供《LM555-MIL定时器数据表.pdf》资料免费下载
    发表于 08-23 10:19 ?1次下载
    LM555-MIL<b class='flag-5'>定时器</b>数据表

    零基础小白看过来!人工智能到底是学习什么?算法是什么?难不难学?

    ?#人工智能到底是学什么?#以豆包、ChatGPt、文心一言、通义千问为代表的大模型;以百度、华为、特斯拉、蔚小理为代表的自动驾驶;以讯飞、百度为代表的语音识别技术,以及手机上的人脸识别等等,都依托于人工智能技术。可见人工智能是个广义的学科,涉及基础层、技术层、应用层的技术,它们共同构成了人工智能的全貌。人工智能的学习,核心是技术层和应用层的学习,技术层核心
    的头像 发表于 08-20 16:54 ?901次阅读
    零基础<b class='flag-5'>小白看过来</b>!人工智能到底是学习什么?算法是什么?难不难学?

    LM555QML定时器数据表

    电子发烧友网站提供《LM555QML定时器数据表.pdf》资料免费下载
    发表于 08-20 09:29 ?0次下载
    LM555QML<b class='flag-5'>定时器</b>数据表

    LM555定时器数据表

    电子发烧友网站提供《LM555定时器数据表.pdf》资料免费下载
    发表于 08-20 09:22 ?2次下载
    LM555<b class='flag-5'>定时器</b>数据表

    定时器的基本组成和工作模式

    定时器是计算机或电子设备中常见的一个硬件或软件组件,其主要功能是测量和控制时间的流逝。它在各种应用中起着至关重要的作用,如操作系统调度、多媒体播放、网络通信、工业自动化控制以及家电设备的定时功能等。定时器的工作原理基于时序控制,
    的头像 发表于 08-19 18:28 ?2828次阅读

    简述单片机定时器的工作原理

    单片机定时器的工作原理是一个复杂而精细的过程,它涉及到单片机内部的多个组件和机制。
    的头像 发表于 08-19 18:20 ?3211次阅读