STMCU小助手
发布时间:2023-3-3 14:00
前面在讲LED模块的时候可以用HAL_DLAY()这个函数实现,但是当时间控制得多了,用这个函数就不方便了,因此我们用定时器来实现计时的功能 一、定时器原理 1.定时器资源有许多,但是常用的就有几个
2.定时器只有内部计时功能,没有输出功能,因此不用配置GPIO引脚 3.Timer原理
4.CubeMX配置
Prescaler:预分频;相当于第一次分频,降到80*10^3 Counter Period:计数周期;相当于第二次分频,讲到1000 通过这两次分频,就实现了最终的分频效果,每1毫秒中断一次频率就降下来了。这样0.1s就要中断100次,5s就中断5000次。 5.定时器的本质就是中断,因此要配置中断的优先级内容:
二、打开工程,添加必要代码 1.tim.c就是配置完CubeMX之后自动生成的文件
2.添加必要的代码
此函数定义的位置:
发生定时器中断之后就会跳到回调函数,实际上该函数便是发生时钟中断后处理的函数(中断处理子程序):
3.子函数
4.主函数
变量声明:
警告:一开始led1_count函数类型是char类型的,在后面计数判断的时候出现了警告。并且LED1灯不能通过按键控制亮灭。 三、实现功能
———————————————— 版权声明:想要优秀点儿 |
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
STM32大神笔记,超详细单片机学习汇总资料
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
实战经验 | 基于STM32G474的三相LLC+SR PWM产出方案
STM32固件库分享,超全系列整理
经验分享 | STM32G4 双BANK Flash模式页擦除话题
经验分享 | STM32G4片内FLASH擦写实验笔记
微信公众号
手机版