STM32F103的定时器(基于HAL库+寄存器)

1. 定时器的分类

标题

2. 定时器特性表

3. 核心时基单元

影子寄存器才是实际起作用的,ARR只是缓冲

递增时,当 CNT == ARR

改变寄存器也可产生软件更新事件

更新事件产生,将于装载寄存器的值加载到对应的影子寄存器中

3.1. 计数模式和溢出条件

3.2. 溢出时间计算

4. 嘀嗒(Systick系统)定时器

定时器是STM32中一个非常强大的外设,功能强大,用途很广。

STM32F103系列提供了 8 个定时器:

1)2 个基本定时器(TIM6、7),

2)4个通用定时器(TIM2—5),

3)2个高级定时器(TIM1、TIM8)。

系统定时器(SysTick系统)是属于CM3内核,内嵌在NVIC中。

4.1. Systick的执行过程

4.2. 基于寄存器定时器LED闪烁

递减计数器在时钟的驱动下,从重装载寄存器的初值开始往下递减计数到0(在递减的过程中值可以在STK_VAL中查看到),产生中断和置位COUNTFLAG标志。然后又将重装载寄存器值开始重新递减计数,如此循环。

4.3. 基于HAL定时器LED闪烁

void HAL_IncTick(void)
{
    uwTick += uwTickFreq;
    if (uwTick % 1000 == 0)
    {
        printf("%d\r\n", uwTick);
        HAL_GPIO_TogglePin(LED_1_GPIO_Port, LED_1_Pin);
    }
}

5. 基本定时器

基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。

这个2个基本定时器只能向上计数,由于没有外部IO,所以只能计时,不能对外部脉冲进行计数。

功能:定时中断,主模式,触发DAC。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值