一、基础概念

概念解析:定时器分为硬与软定,硬件定时器到达定时时间自动触发中断服务函数,使用软件定时器时,需要我们在创建软件定时器时指定时间到达后要调用的函数(也称超时函数/回调函数,为了统一,下文均用回调函数描述),在回调函数中处理信息。

软件定时器特点:
 裁剪:能通过宏关闭软件定时器功能。
 软件定时器创建。
 软件定时器启动。
 软件定时器停止。
 软件定时器复位。
 软件定时器删除。
 FreeRTOS 提供的软件定时器支持单次模式和周期模式

二、运行机制

软件定时器是可选的系统资源,在创建定时器的时候会分配一块内存空间。FreeRTOS的软件定时器采用消息队列进行通信,利用“定时器命令队列”向软件定时器任务发送一些命令,任务在接收到命令就会去处理命令对应的程序,比如启动定时器,停止定时器等。

使用软件定时器需要注意几点

  • 软件定时器的回调函数中应快进快出,绝对不允许使用任何可能引软件定时器起任务挂起或者阻塞的 API 接口,在回调函数中也绝对不允许出现死循环
  • 软件定时器使用了系统的一个队列和一个任务资源,软件定时器任务的优先级默认为configTIMER_TASK_PRIORITY,为了更好响应,该优先级应设置为所有任务中最高的优先级
  • 创建单次软件定时器,该定时器超时执行完回调函数后,系统会自动删除该软件定时器,并回收资源
  • 定时器任务的堆栈大小默认为 configTIMER_TASK_STACK_DEPTH 个字节。 软件定时器函数接口

三、 API函数

官方API
https://freertos.org/FreeRTOS-Software-Timer-API-Functions.html

四、实验代码分析

正点的
1、创建句柄与定时回调函数

2、在开始任务函数里面创建任务函数
函数具体功能查官网

3、在任务需要的地方开启定时器

4、编写定时时间到达的时候的回调函数

有单片机基础的应该看一下大概就明白这个机制了在于实际工程中的应用

FreeRtos软件定时器复习相关推荐

  1. FreeRTOS 软件定时器使用

    FreeRTOS 的软件定时器工作模式有两种:单次触发 和 自动重载. 1. 主要功能函数介绍 官方API文档:FreeRTOS 软件定时器 API文档 最为常用的函数有: // 创建软件定时器,返回 ...

  2. FreeRTOS软件定时器 | FreeRTOS十三

    目录 说明: 一.定时器简介 1.1.定时器 1.2.软件定时器 1.3.硬件定时器 1.4.FreeRTOS软件定时器 1.5.软件定时器服务任务作用 1.6.软件定时器的命令队列 1.7.软件定时 ...

  3. freeRTOS — 软件定时器的使用

    freeRTOS中加入了软件定时器这个功能组件,是一个可选的.不属于freeRTOS内核的功能,由定时器服务(其实就是一个定时器任务)来提供. 软件定时器是当设定一个定时时间,当达到设定的时间之后就会 ...

  4. FreeRTOS软件定时器 基于STM32

    文章目录 一·.软件定时器的基本概念 二.软件定时器应用场景 三.软件定时器的精度 四.软件定时器的运作机制 五.软件定时器函数接口讲解 1.软件定时器创建函数 xTimerCreate() 2.软件 ...

  5. FreeRTOS 软件定时器的使用

    FreeRTOS中加入了软件定时器这个功能组件,是一个可选的.不属于freeRTOS内核的功能,由定时器服务任务(其实就是一个定时器任务)来提供. 软件定时器是当设定一个定时时间,当达到设定的时间之后 ...

  6. STM32cubeMX配置FreeRTOS软件定时器

    文章目录 前言 1.软件定时器概述 一.软件定时器特性 二.使用cubeMX生成软件定时器 三.代码讲解 总结 前言 本文主要带大家了解什么是软件定时器,并且带大家使用cubeMX配置软件定时器. 1 ...

  7. FreeRTOS 软件定时器

    系统节拍配置宏 configTICK_RATE_HZ, 即1S能跳动多少下, 软件定时器的运作机制. FreeRTOS 采用两个定时器列表维护软件定时器, pxCurrentTimerList 与 p ...

  8. freeRtos学习笔记 (6)软件定时器

    freeRtos学习笔记 freeRtos软件定时器 软件定时器需要注意事项 软件定时器的精度基于时钟节拍,例如系统时钟节拍为10ms, 软件定时器定时时间必须是10ms的整数倍,因此软件定时器一般用 ...

  9. FreeRTOS源码分析与应用开发06:软件定时器

    目录 1. 概述 1.1 软件定时器 & 硬件定时器 1.2 软件定时器精度 1.3 单次模式 & 周期模式 2. 软件定时器组件 2.1 定时器任务 2.2 定时器列表 2.3 定时 ...

最新文章

  1. xtraback工具的使用和备份
  2. 考试系统(未完成的小程序)
  3. 图论讲解(3)——最小生成树(基础)
  4. mwArray与C++接口
  5. 如何多人共同编辑_如何实现可多人协作的“在线excel”系统?
  6. [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
  7. (49)移动端开发之流式布局(百分比布局)
  8. 测试面试题集-2.测试用例设计
  9. Mac Idea批量删除空行
  10. Camera 初始化(Open)二(HAL3中Open过程)
  11. Java经典算法题(一,kafka权威指南百度网盘
  12. Win11如何给系统盘瘦身?Win11系统盘瘦身方法
  13. 软件学报 期刊论文 排版格式要求 2021最新
  14. c语言graphics下载,C语言_graphics.h
  15. menu在python中的意思_Python-Tkinter 组件之Menu
  16. 3种方法解决word文档无法编辑
  17. Python模拟锟斤拷等各类乱码
  18. Hazelcast IMDG参考中文版手册-第十一章-分布式查询
  19. 个人总结:京东技术体系员工级别划分及薪资区间
  20. java并发包JUC

热门文章

  1. Oracle 聚合实现小计、合计 (GROUP BY ROLLUP)
  2. Fighting Girl——那个IT女孩
  3. ★互联网告别免费时代,准备…
  4. 修改登录ftp服务器时用的密码,ftp服务器登录密码修改
  5. ROS2编程基础课程--DDS
  6. python实现链表(一)
  7. 【魔方教程】三阶多阶异形魔方教程大合集
  8. 微信QQ打开网页时提示用浏览器打开
  9. xampp control-panel深深的坑
  10. 微软8月底推出网络音乐商店 全面挑战苹果