我的STM32学习日记(七)

定时器

1.STM32F40X系列总共最多有14个定时器

2.

3.

4.

5.向下计数为例

 

定时器定时溢出

1.定时脉冲
定时脉冲的来源很多,可以是内部时钟,也可以是外部定时信号,此处我们仅使用内部时钟作为定时脉冲的
来源
内部的定时脉冲来自APB总线时钟,此时钟经过分频后驱动定时器进行计数;分频器有两个,一个称为预分频
器(Prescaler,简称PSC),另一个是内部时钟分频器(Internal Clock Divider,简称CKD)。若记APB总线
时钟频率为F,则定时器时钟频率为 F'=F/(PSC+1)/CKD ,其计数器增加1用时 T=1/F'
2. 定时器装填
设定定时时长的时候,需要我们自己手动计算装填值,此装填值位于定时器的ARR寄存器中,于是总的定时时
长为 T1=(ARR+1)/F' ,根据此公式可以迅速计算装填值
3. 定时溢出
当定时器的计数器CNT的值等于ARR寄存器时(增计数方式),我们称为一个定时周期结束,此后,CNT计数
器清零,并且产生一个更新事件,该更新事件体现在SR寄存器的第0位,若发生更新事件,该位置位,可以手

动清除。

通过CUBE配置好以上过程。

 if(__HAL_TIM_GET_FLAG(&htim2, TIM_FLAG_UPDATE) == 1)//如果定时器定时溢出
        {
            HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_0);
            HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_3);//两灯轮流亮
            
            //Clear TIM Flag
            __HAL_TIM_CLEAR_FLAG(&htim2, TIM_FLAG_UPDATE);//清除定时器值,重新开始计数
        }

参考正点原子的学习资料

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值