【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.演示

相关推荐
一路往蓝-Anbo24 分钟前
第 9 章:Linux 设备树 (DTS) ——屏蔽与独占外设
linux·运维·服务器·人工智能·stm32·嵌入式硬件
猪八戒1.05 小时前
ESP-IDF 新版
stm32
宁静致远20215 小时前
STM32CubeMX、MDK(Keil MDK)、git、vscode等工具中统一编码设置(UTF-8),确保中文支持,避免乱码问题
git·vscode·stm32
一路往蓝-Anbo5 小时前
第 12 章:Linux 侧 RPMsg 用户态驱动与数据接口
linux·运维·服务器·stm32·单片机·嵌入式硬件·网络协议
The️6 小时前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#
2023自学中6 小时前
Linux 内核中的 start_kernel() 函数内部:流程图与总结
linux·嵌入式硬件·uboot
炸膛坦客7 小时前
FreeRTOS 学习:(二十八)任务调度器 + 启动第一个任务(了解)
stm32·单片机·操作系统·freertos
rosir_zhong8 小时前
嵌入式开发中FIFO buffer的使用
单片机·嵌入式硬件
广药门徒8 小时前
PADS同网络相邻引脚怎么走出粗线 FPC 电源布线如何布出粗线
嵌入式硬件
炸膛坦客10 小时前
FreeRTOS 学习:(二十七)死等延时函数会对任务调度产生什么影响
stm32·操作系统·freertos