HAL库 定时器3 中断 翻转LED

  开启定时器3 实现每1s翻转LED,公式 Tout = (ARR+1)*(PSC+1)/TCLK

(1)ARR : 自动重装载值 / 计数周期;

(2)PSC : 分频系数 ;

(3)TCLK : 输入时钟 72M

  • 定时器介绍:

SMT32F1系列共有8个定时器:(区别)
高级定时器(TIM1、TIM8); /16位 / 可产生DMA请求 / 有捕获 和 / 比较通道 / 有互补输出 / 可用于PWM电机控制
通用定时器(TIM2、TIM3、TIM4、TIM5); / 16位 / 无捕获
基本定时器(TIM6、TIM7). / 16位 / 无捕获

  1. cubeMX 开启 定时器3 

  2. main.c中 加入

(1)   __HAL_TIM_CLEAR_IT(&htim3,TIM_IT_UPDATE); //清除TIM初始化过程中的 更新中断标志避免 一启动TIm就进去中断

(2)   HAL_TIM_Base_Start_IT(&htim3); //使能 TIM3的更新中断 并启动 定时器

  3. 在tim.c中 设置 溢出时间 :Tout = (ARR+1)*(PSC+1)/TCLK

   4. 在 tim.c 中 添加 TIM3 中断 回调函数

(ps:过程中 对 中断服务函数:【void TIM3_IRQHandler(void) 】重复定义导致编译失败,其实void TIM3_IRQHandler本身有自己不用写)

原文地址:https://www.cnblogs.com/oneme1world/p/12677517.html

时间: 2024-11-13 09:37:11

HAL库 定时器3 中断 翻转LED的相关文章

【STM32H7教程】第36章 STM32H7的LPTIM低功耗定时器基础知识和HAL库API

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第36章       STM32H7的LPTIM低功耗定时器基础知识和HAL库API 本章节为大家讲解LPTIM1 – LPTIM5共计5个定时器的基础知识和对应的HAL库API. 36.1 初学者重要提示 36.2 低功耗定时器基础知识 36.3 低功耗定时器的HAL库用户 36.4 源文件stm32h7xx_hal_lptim.c 36.5 总结 36.1 初学者

STM32F103 PWM输出实验(HAL库)

1.芯片输出PWM波形打码步骤 1.0主函数 int main(void) { HAL_Init(); //初始化HAL库 Stm32_Clock_Init(RCC_PLL_MUL9); //设置时钟,72M delay_init(72); //初始化延时函数 uart_init(115200); //初始化串口 LED_Init(); //初始化LED TIM1_PWM_Init(20000,72); //72分频,即1M . 1000000/20000 = 50 Hz ,即20ms whil

USART与USB接收不定数据方法,标准库、HAL库都适用

很多时候,我们使用串口或USB接收数据时,往往不知道PC端会发多长的数据下来, 为了解决这个不定数据接收问题,在此各提供一个解决思路. 串口数据不定接收: 由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据, 由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机. IDLE就是串口收到一帧数据后,发生的中断.什么是一帧数据呢?比如说给单片机一 次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也可以 叫做一包数据. 还有一

【HAL库每天一例】freemodbus移植

例程下载:资料包括程序.相关说明资料以及软件使用截图 百度云盘:https://pan.baidu.com/s/1slN8rIt 密码:u6m1 360云盘:https://yunpan.cn/OcPiRp3wEcA92u密码 cfb6 (硬石YS-F1Pro开发板HAL库例程持续更新\6. 软件设计之Modbus(HAL库版本)\YSF1_HAL_freemodbus_001. freemodbus移植)/**  ****************************************

TI CC2530基础实验(定时器3中断方式——自由运行模式)

本实验实现通过CC2530的定时器3(8位)查询方式控制LED1以1S的周期性闪烁,此实验使用有关定时器3的2个寄存器T3CTL(定时器3控制寄存器),IEN1(中断使能1寄存器). 有关CC2530的GPIO基本知识.普通GPIO操作有关寄存器的介绍.IAR Embedded Workbench IDE软件使用:TI CC2530基础实验(普通GPIO操作--点亮led灯) 原理图: 寄存器分析: 程序: #include <ioCC2530.h> /********************

STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

参考资料:1.ST HAL库官网资料 2.https://blog.csdn.net/u014470361/article/details/79206352#comments 一.STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即"High Speed Clock"和"Low Speed Clock"需配置成"Crytal/Ceramic Resonator(低温/陶瓷谐振器)"不能配置为"BYASS Clock Sour

STM32 IIC双机通信—— HAL库硬件IIC版

参考传送门 关于IIC的原理这里我就不多说了,网上有很多很好的解析,如果要看我个人对IIC的理解的话,可以点击查看,这里主要讲一下怎样利用STM32CubeMx实现IIC的通讯,经过个人实践,感觉HAL库的硬件IIC要比标准库的稳定.好了,下面就从STM32CubeMx 配置开始一步步实现IIC通讯. STM32CubeMx的配置,这里关于新建工程的步骤我就不细说了,如果还不会操作STM32CubeMx 的可以点击链接查看, 这里主要对IIC的配置进行说明. 了解IIC的都知道,IIC通信有主从

STM32F0xx HAL 库使用问题记录

1. SPI 数据收发函数HAL_SPI_xxx传入传出 buf 指针地址必需16位对齐 例如,SPI收发数据函数HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout), pTxData和pRxData,必需16位对齐,若不能保证16位对齐,可以在调用SPI收发函数之情,申请两个16

【STM32H7教程】第57章 STM32H7硬件JPEG编解码基础知识和HAL库API

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第57章       STM32H7硬件JPEG编解码基础知识和HAL库API 本章节为大家讲解硬件JPEG,实际项目用到图像显示的地方比较多,有了硬件JPEG可以大大加速JPEG图片显示速度. 57.1 初学者重要提示 57.2 硬件JPEG基础知识 57.3 硬件JPEG的HAL库用法 57.4 源文件stm32h7xx_hal_jpeg.c 57.5 总结 57