STMCU小助手
发布时间:2022-5-22 21:53
|
前言 本文主要带大家了解什么是软件定时器,并且带大家使用cubeMX配置软件定时器。8 [ A6 W- B: F) {! e ) O4 Q( [3 h% k6 D 1.软件定时器概述 一.软件定时器特性 软件定时器就是一个闹钟当时间到了就执行相对应的任务或者代码。软件定时器是基于系统滴答中断的。在FreeRTOS中我们可以设置无数个软件定时器。 指定时间:启动定时器和运行回调函数,两者的间隔被称为定时器的周期7 T. r+ T. R& k0 t Z' y (period)。5 E2 }! j/ |! r) H4 | " v- [- l8 r5 K9 L 指定类型定时器有两种类型: 1.一次性 这类定时器启动后,它的回调函数只会被调用一次;可以手工再次启动它,但是不会自动启动它。/ k9 ^- ~, O* u X5 c 2.自动加载定时器. t1 s* m/ \( Y7 F 这类定时器启动后,时间到之后它会自动启动它;这使得回调函数被周期性地调用。 ( R- a. u& S8 C8 x `7 T8 n; H3 L 二、使用cubeMX生成软件定时器+ y Y- E# C4 a9 Z' n 1.开启软件定时器的相应宏- P$ H* p, X& N0 u7 U
/ L$ C2 o! n" G+ F* q: C' W 2.添加软件定时器
* @* D: z# T+ P6 y+ C& c1 b 3.设置软件定时器参数
6 J2 v/ j$ E) K7 F( n' o3 } 1.Timer Name:定时器名字: x( E. H% O$ ?' a3 B, i 2.CallBack:定时器回调函数名字+ ]8 M0 B% Y1 A 3.Type:定时器类型选择(周期性,一次性) 三、代码讲解- i: @+ N9 R0 w8 p, H& O/ a x/ M7 } 1.定时器相关宏修改: A5 c. ^( i6 N4 S* M8 N+ v 我们在这里需要将configTIMER_TASK_PRIORITY这个宏进行修改这个宏代表的是软件定时器的优先级,软件定时器优先级如果设置的太低将会导致软件定时器无法运行,所以要修改相应的宏。
2.创建定时器及开启软件定时器 ' e. `+ m7 ?8 [* f7 n0 }
下面代表的是选择定时器是一次性的还是周期性的% I* c+ C: v9 d0 ^2 z
软件定时器回调函数
开启软件定时器, J$ f, u9 ?4 w. \5 I0 w 6 h$ }8 G6 z* B9 t
总结 一般我们只会使用到硬件定时器,但是在硬件定时器不足的时候我们可以创建软件定时器来代替硬件定时器的使用。 ) h! Y/ {5 Y9 u. d, g1 \ |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版