主频72MHz:最大计时59.65s

基本定时器:

基准时钟 预分频器 计数器 计数器与自动重装载寄存器进行比较 相等时计时时间到 进行中断相应

主模式触发DAC 硬件自动化

通用定时器:

计数模式不只一种:

向上计数:计数器累加到自动重装载模式的值后进行中断相应

向下计数:自动重装载模式中的值向下减到0后进入中断

中央对齐: 向上计数到自动重装载值中断产生向下自减到0后进行中断的产生

定时器级联:初始化TIM3(使用主模式)把更新事件映射到TRGO上 选择TIM2 对应的就是TIM3的TRGO   选择外部时钟1

定时器的使用: ETR引脚,CH1、2、3、4 边沿  其他定时器

输出控制可以产生PWM波形 ,左边的输入捕获可以捕获输入的频率

初始化定时器

开启定时器的时钟线RCC, 选择时钟(内部时钟可以不调用),定义时基单元,配置时基单元(定义时基单元结构体,)初始化时基结构体,更新中断到NVIC,配置NVIC 的分组  ,定义NVIC结构体 , 配置NVIC结构体 , 初始化NVIC结构体,启动定时器

定时器中断函数:判断标志位,清除标志位

NVIC结构体:中断通道,使能  抢占优先,相应优先级

时基单元结构体;: 指定时钟分频,计数模式,时钟周期,预分频,高级定时器配置给0

预分频是将前面的整数弄掉,时钟周期是自己想设置的定时长度 可以这么理解 时钟周期+上预分频一共有6个0  以定时一秒为例:

预分频:  7200-1  时钟周期: 10000    定时的长度=72000000/ 预分频 /  时钟周期

找到TIM的定时器库函数:

第一个:清空配置

第二个:时机单元初始化

Timebasestruct  附一个默认值

TIM_cmd  使能定时器

TIM——ITconfig  使能中断

选择时钟

具体步骤:

这里的分频和自动重装值需要理解一下

72M/分频/计数个数:

72M分频7200为10kHZ 然后计数10000,得到的时间就是为1s

打开定时器时清除中断的标志位

判断中断标志位然后进行相关的操作

外部定时中断: 通过外设的变化让定时器的计数值进行加减,然后进入中断

使用的外部时钟,需要用到GPIO

配置外部时钟; 配置外部触发的时钟

复用的是PA-0口

外部重装值:外部产生一个信号号重装值+1,当加到9时进入中断,

预分频:外部产生多个信号重装值+1;没有预分频,外部产生一次中断重装值+1

定时器中断代码总结:

打开定时器的相关时钟,选择定时器的时基单元,配置时基单元结构体,

打开中断定时通道进入NVIC

配置NVIC中断优先级,打开计数器

外部中断时钟触发定时器,需要用到相关的GPIO口来进行定时器的触发

不用预分频 就直接用周期来进行判断进入中断

stm32定时器定时中断相关推荐

  1. STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟

    TIM定时器 TIM简介 TIM(Timer) 定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz(系统主频)计数时 ...

  2. STM32 定时器定时计算

    STM32 定时器定时计算 STM32 定时器频率 例子 公式 reference STM32 定时器频率 定时时间 = 定时器频率 / 倍频 /装载周期 htim1.Init.Prescaler = ...

  3. STM32CubeMX与HAL库学习--基本定时器定时中断

    STM32CubeMX与HAL库学习--基本定时器定时中断 背景 STM32CubeMX生成初始化代码 在MDK-ARM里编辑代码 其他 背景 本人小白,最近在学着使用STM32CubeMX与HAL库 ...

  4. STM32 TIM定时中断

    总体介绍 TIM(Timer)定时器是STM32中功能最强大,结构最复杂的一个外设,以下对其做一下简介(以stm32为例): TIM可以对输入的时钟进行计数,并在数值达到设定值时触发中断. 在STM3 ...

  5. 设计分享 | STM32F103RCT6定时器定时中断原理

    wx:嵌入式工程师成长日记 https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484146&idx=1&sn= ...

  6. STM32 定时器 定时时间的计算

    假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到 关键是设定 时钟预分频数,自动重装载寄存器周期的值 /*每1秒发生一次更新事件(进入中断服 ...

  7. 关于stm32定时器定时周期计算

    1.TIMx(1-8),在库设置默认的情况下,都是72M的时钟: 名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在 APB1总线上.其中TIM1&TI ...

  8. STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)

    本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...

  9. STM32 定时器【TIM】 定时如何计算?

    Stm32定时器定时计算通过计数溢出计算,也就是说计数溢出就触发中断 计算公式: TimeOut = ((Prescaler + 1) * (Period + 1) ) / TimeClockFren ...

最新文章

  1. 计算机绘图 招聘,计算机绘图-网课答案.pdf
  2. 手撕ArrayList底层,透彻分析源码
  3. 哈希表建立及冲突处理
  4. 【备忘录】物料分类账的启用配置
  5. c++ 二维数组传递
  6. iOS开发之──传感器使用 (转载)
  7. 如何删除添加了.css()函数的样式?
  8. MySQL 主主配置
  9. bypassuac提权
  10. 谷歌插件IDM下载MODIS数据
  11. 我读《非暴力沟通》- 马歇尔 *卢森堡 - 让爱融入生活
  12. c#生成二维码,一维码(条形码)
  13. Selenium finds和find的耗时性能比对
  14. JavaScript:实现将 base64 字符串转换为字节数组算法(附完整源码)
  15. 03.【python基础二】if判断语句之if-else、elif、if嵌套
  16. 视频侦查实战应用平台
  17. IDEA全屏代码后左侧有很多空白解决方法
  18. Android 9.0 开关机动画流程分析
  19. android 手机型号占有量,2021年安卓手机性能排行及手机品牌占有率
  20. Python还原CryptoJs_DES_CBC模式_js逆向学习

热门文章

  1. 中科软深圳分公司面试题
  2. 几款四千元左右笔记本电脑推荐
  3. 迅为iTOP-4412开发板精英版
  4. 《升职,凭什么是你:内卷时代快速升职法则》读书笔记
  5. matlab-线性代数 矩阵的合成(二维、三维)
  6. QCon速递:亚马逊AWS技术应用实践
  7. python使用requests_toolbelt库做multipart格式HTTP上传请求
  8. 通过2DAO 投资二级市场的机会与潜力
  9. 汽车电子嵌入式编程-【无人驾驶】QNX操作系统(补充篇)
  10. MySQL基本原理和使用技巧