蓝桥杯【物联网】零基础到国奖之路:十二. TIM

蓝桥杯【物联网】零基础到国奖之路:十二. TIM

  • [第一节 理论知识](#第一节 理论知识)
  • [第二节 cubemx配置](#第二节 cubemx配置)

第一节 理论知识

STM32L071xx器件包括4个通用定时器、1个低功耗定时器(LPTIM)、2个基本定时器、2个看门狗定时器和SysTick定时器。

通用定时器 (TIM2、TIM3、TIM21和TIM22)是STM32L071xx中嵌入了四个可同步的通用定时器。TIM2、TIM3是基于16位自动重载上/下计数器。包括了一个16预分频器。具有四个独立的通道,每个通道用于输入捕获/输出比较,PWM或单脉冲模式输出。TIM2/TIM3通用定时器可以协同工作,也可以与TIM21和TIM22配合使用。TIM21和TIM22基于16位自动重载上/下计数器。有两个独立的通道,用于输入捕获 输出比较、PWM或单脉冲输出。可以协同工作并与TIM2、TIM3同步。可以用作简单的时间基准,并由LSE时钟源提供时钟(32.768khz)提供独立于主cpu时钟的时间基准。
低功耗定时器 (L系列特有的)具有独立的时钟,如果符合由LSE、LSI或外部时钟计时。它能够从停止模式唤醒设备。支持以下功能:

16位上行计数器,带16位自动重装载寄存器

16位比较寄存器

可配置输出:脉冲、PWM

连续 单次拍摄模式

可选软件 硬件输入触发

可选时钟源:

内部时钟源:LSE、LSI、HSI或APB时钟

通过LPTIM输入的外部时钟源(没有内部时钟的情况下也能工作源运行,由脉冲计数器应用程序使用)

可编程数字毛刺滤波器

编码器模式
基本定时器 (TIM6、TIM7)可用作通用的16位时间基准。
独立看门狗 基于12位计数器和8位预分配器。由独立的37kHz内部RC提供时钟,并且由于它独立于主时钟,可以在停止和待机模式下运行。既可以用作看门狗在出现问题时重置设备,或作用应用程序超时的自由运行计时器管理。可以通过选项字节进行硬件或软件配置。计数器可以在调试模式下冻结。
窗口看门狗 基于一个7位下计数器,可设置为自由运行。可以用作看门狗,出现问题重置设备。它的时钟从主时钟。具有预警中断功能,计数器可以冻结调试模式。
SysTick定时器专用于操作系统,也可以用作标准计数器。基于具有自动重载功能和可编程时钟的24位下计数器源。HAL_Dalay();

第二节 cubemx配置

第一步;确保时钟频率是32Mhz。

第二步;选择内部时钟,选择预分配系数,选择自动重装载值;

定时器/计数器时间=((分频系数+1)*(自动重装载值+1)) / 主频,单位是秒,所以我们设置的是((31+1)x(999+1))/ 32000000 = 0.001s,就是1ms。也就是每隔0.001秒定时器2会产生一次定时/计数中断。

一般来说,分频系数设置为(主频数-1),因为分频后得到1MHz的时钟,然后具体时间通过自动重装载值调节。

开启nvic中断,点击enabled。

在tim.c找到声明句柄结构体

在hal_tim.c找到中断函数重写写定时器计数函数。

在主函数开启定时器中断。

可以在串口助手查看现象

相关推荐
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio1 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
lingggggaaaa1 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
PP东2 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
学电子她就能回来吗2 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
xuxg20053 小时前
4G 模组 AT 命令解析框架课程正式发布
stm32·嵌入式·at命令解析框架
AI视觉网奇4 小时前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
CODECOLLECT5 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习