STM32CubeMx入门教程(3):定时器的使用

导语“ 使用stm32cubemx 生成初始化定时器代码,实现定时器特定定时”
系统要求•硬件:野火指南者
•软件 cubemx & keil
•f103总线系统框图
项目文件还是在led,usart 项目的基础上添加配置代码。
我们可以看到共8个定时器,tim1在apb2总线上,其他的在apb1系统总线上。
第二节cubemx配置时钟配置在cubemx的时钟配置中,可以看到,tim1 和tim2时钟是72mhz。
定时器time1配置
使能time1全局中断:
time2的配置
time1 & time2 使用内部时钟源,参数配置的时候通过计算实现1s的定时中断。
定时:(72000000/(7199+1)/(9999+1))= 1hz。
可以设置time2 定时2s,参数设置为:(72000000/(7199+1)/(19999+1))= 0.5hz
使能time2全局中断模式:
第三节 mdk代码编写(1)在main.c 中编写定时器中断回调函数,我们只需编写中断回调函数,不需要直接编写中断处理函数。
/* user code begin 4 */void hal_tim_periodelapsedcallback(tim_handletypedef *htim){ if(tim1 == htim- >instance){ hal_gpio_togglepin(led_g_gpio_port,led_g_pin); printf(\\ntim1 定时1s 时间到\\t\\n); } if(tim2 == htim- >instance){ hal_gpio_togglepin(led_g_gpio_port,led_g_pin); printf(\\ntim2 定时2s 时间到\\t\\n); }}/* user code end 4 */(2)main主函数的while中为空,使用定时中断处理应用。
(3)在main.c的主函数初始化代码区中添加 开始定时函数,打开time1 & time2的定时器。
/* user code begin 2 */hal_tim_base_start_it(&htim1);hal_tim_base_start_it(&htim2); /* user code end 2 */第四节 效果显示
总结:(1)cubemx 定时器的配置很简单,选择内部时钟源,配置定时器定时参数(时间的计算方法套公式就可以),使能定时器中断。
(2)在应用代码中使用haltimbasestartit(&htim1)打开定时器。
编写定时器定时中断回调函数实现定时应用:
void haltimperiodelapsedcallback(tim_handletypedef *htim)

优畅享20系列和华为畅享20系列的区别
关于风景摄影的选择,哪种镜头的效果比较好
通过分层隔离器创建高压隔离栅的解决方案
基于3D形状重建网络的机器人抓取规划方法
一篇文章带你认识“扫地机器人”
STM32CubeMx入门教程(3):定时器的使用
三菱电机开发了首款6.5kV全SiC(Silicon Carbide)功率模块
AI可以窥见未来?
统计过程控制SPC“见证”JMP和Minitab的差异
HPI接口在TI SOC的应用详解
中国移动利用远程服务真正实现移动信息化与各行各业的深度融合
开关电源电磁干扰滤波器设计
超级计算机大PK:中国已抢得先机 AMD皓龙处理器排第三
俘获接口(TV与RGB)的各引脚功能及电压
做好绕线功率电感器选型你不得不了解的内容
VR娱乐公司当红齐天宣布获得来自英特尔的战略投资
液位开关控制器测试测量方法
芯派科技韩国研发中心认定授牌 Fastems 发生新人事任命
左蓝微电子高性能1612双工器射频滤波器产品概述
电动机带负载不能起动的解决方法