【STM32】定时器

1.定时器概念

定时器实现也是依靠中断实现

定时器分为

嘀嗒定时器:在STM32操作系统中可以用到

基本定时器:TIM6 TIM7 (定时)

通用定时器:TIM2-TIM5 (测量PWM)

高级定时器:TIM1 TIM8 (电机,数字电源)

定时器本质就是计数器

我们在stmcubemx里面设置最大频率为100MHZ

假如说我们要定时500ms,500ms进行一次中断,执行中断执行函数

这个我们使用通用定时器,TIM2最大计数为65536

我们计算出来计数需要50 000000,

此时我们需要预分频器,分配后小于65536,

实现500ms翻转灯引脚电平实现闪烁

1.stm32cubemx配置



2.配置GPIOB

直接展示代码了,没有什么可说的

c 复制代码
void MY_LED_Init(void)
{


   __HAL_RCC_GPIOB_CLK_ENABLE();  //开启GPIOB时钟
   GPIO_InitTypeDef GPIO_INIT;
   GPIO_INIT.Mode=GPIO_MODE_OUTPUT_PP;   //设置推挽模式
	 GPIO_INIT.Pin=GPIO_PIN_10;            //设置LED  十号引脚
	 GPIO_INIT.Pull=GPIO_NOPULL;           //不设置上下拉
	 GPIO_INIT.Speed=GPIO_SPEED_FREQ_LOW;  //设置低
	 HAL_GPIO_Init(GPIOB,&GPIO_INIT);
   


}

gpio.h声明一下

2.开启定时器


参数为哪一个定时器

3.处理中断函数

所有的中断函数名都在

启动文件中


跳转一下


需要我们自己实现

4.演示

相关推荐
ACP广源盛139246256731 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#IX6024 PCIe2.0 交换芯片在轻量化 AI 服务中的机会与应用场景
大数据·数据库·人工智能·嵌入式硬件·macos·开源
深圳市恒锐丰科技杨生2 小时前
EG2124A 260V 三相独立半桥栅极驱动芯片|BLDC 外置 MOS 三相桥驱动方案
嵌入式硬件·硬件工程
学linux的QQ蛋2 小时前
吃透传输层:UDP 无连接、TCP 可靠传输、套接字函数、粘包问题详解
单片机·tcp/ip·udp
kruptos3 小时前
嵌入式 Linux 驱动开发:第一个内核模块怎么写?
linux·运维·驱动开发·嵌入式硬件
HUI-4743 小时前
EG1133|SOT23‑6 18V/3A 电流模式同步降压 DC‑DC,中小功率大电流紧凑型电源优选
嵌入式硬件·硬件工程
玩转单片机与嵌入式3 小时前
深入浅出TinyML 24:剪枝、聚类、蒸馏和算子替换是否真正适合MCU?
人工智能·stm32·机器学习·tinyml
单片机仿真设计4 小时前
基于 51 单片机老旧电梯层门防夹人装置优化设计(Proteus 仿真)
单片机·嵌入式硬件·proteus
the sun344 小时前
嵌入式易错点:ARM指令架构、IP核、MCU厂商关系+BOOTLoader刷机原理
stm32·嵌入式
wuyk5556 小时前
104.C 语言字节对齐:从底层原理到工程实践的完整指南
c语言·开发语言·stm32·单片机·嵌入式硬件
北域码匠12 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波