stm32学习笔记——定时器部分1(定时器中断)

一、定时器简介

定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。

定时时间 = 中断周期/间隔时间 = 1/每秒产生的中断数 = 触发中断的计数值(65536)/每秒计数次数(72M/65536)。

定时器的类型有:基本定时器、通用定时器、高级定时器

类型编号总线功能
高级定时器TIM1,TIM8APB2拥有通用定时器的所有功能,并有重复定时器、死区生成、互补输出、刹车输入等功能
通用定时器TIM2,TIM3,TIM4,TIM5APB1基本定时器的全部功能,并有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能
基本定时器TIM6,TIM7APB1定时器中断、主模式触发DAC

二、基本结构 

 时基单元:
ARR:寄存自动重装值,当CNT的计数值=自动重装值时,产生中断信号清零计数器。
CNT:上升沿或下降沿触发计数,到达65536时自动清零(没有设置自动重装值)。
PSC:对计数频率进行预分频,如0分频时输出=输入/1=72MHz,1分频时输出=输入/2=36MHz,2分频时输出=输入/3=24MHz。

三、计数模式
向上计数:CNT向上自增——到达重装值——清零并产生中断信号——CNT向上自增
向下计数:CNT从重装值自减——到达0——回到重装值并产生中断信号——CNT自减
中央对齐:自增——到重装值——产生中断信号——自减——到0——产生中断——自增

四、编程思路
使用基本定时器定时中断的步骤:
1.开启GPIO时钟和GPIO外设;
2.选择时基单元的时钟源,定时器定时中断选择内部时钟源;
3.配置时基单元,配置预分频器、自动重装器和计数器这三个寄存器;
4.配置输出中断控制,允许更新中断输出到NVIC;
5.配置NVIC,在NVIC 中打开定时器中断的通道,并分配一个优先级;
6.运行控制;
7.使能定时器,开中断;
8.写定时器中断服务程序。

五、cubemx配置定时器实现pc13闪烁
1.SYS-debug配置SW;
2.RCC配置外部晶振;
3.配置GPIO口,因为要用的是f103c8t6芯片内置LED所以选择PC13口,输出配置低电平,推挽输出,浮空输入;

4. 配置时钟,clock source(时钟源)选择内部时钟;
[定时时间=(PSC+1)*(ARR+1)/72M]

 最后打开keil5文件运行即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值