32的通用定时器是一个可编程预分频器驱动和16位自动状态计数器构成。
用于:测量输入信号的脉冲长度或者产生输出波形(输出比较和PWM)
STM32的5个通用定时器TIMx功能包括:
1、16位向上,向下,自动装载计数器
2、16位可编程预分频器,时钟频率的分频系数为1-65535之间的任意数值
3、4个独立通道作为:
输入捕获,输出比较,PWM生成,单脉冲模式输出
4、用外部信号控制定时器和定时器相连的同步电路
5、产生如下事件时产生中断orDMA
更新,出发时间,输入捕获,输出比较,触发输入作为外部时钟或按周期的电流管理
这一章一共要了解四个寄存器:TIMxCR控制寄存器,TIMx_DIER中断使能寄存器,TIMx_PSC预分频寄存器,TIMx_SR状态寄存器
1、TIMx_CR1的最低位使能位置1,才能开始计数
2、TIMx_DIER的第0位设置为1才能产生更新事件的中断
3、TIMx_PSC用设置对时钟继续分频,提供给计数器作为计算器的时钟
此处时钟来源有4个:内部时钟,外部输入脚,外部触发输入ETR,内部触发输入ITRx
4、TIMx_SR用来标记当前与定时器相关的各种事件/中断是否发生
这一章我们要使用定时器产生中断,在中断服务函数中翻转DS1电平,来指示定时器中断的产生,。
1)时钟使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能 时
2)初始化定时器参数,设置自动重装值,分频系数,计数方式
voidTIM_TimeBaseInit(TIM_TypeDef*TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
结构体中有5个成员变量,Prescaler设置分频系数;CounterMode来设置计数方式;Period设置自动重载计数周期值;ClockDi

本文详细介绍了STM32通用定时器TIM3的配置和使用,包括时钟使能、参数初始化、中断配置、优先级设置、中断服务函数编写以及计算中断时间的方法。通过实例展示了如何利用TIM3产生中断,控制LED闪烁,其中中断服务函数简单地实现了LED电平翻转。此外,还提供了完整的main函数和中断服务函数代码,用于实际操作。
最低0.47元/天 解锁文章
6445

被折叠的 条评论
为什么被折叠?



