TIM定时器

提示:文章

文章目录

前言

前期疑问:
本文目标:


一、背景

最近

二、

2.1 基本定时器

2.1.1 背景

1、今天重新看了资料,又知道定时器分为基本定时器、通用定时器和高级定时器

然后今天看的就是基本定时器,先不去管具体配置过程,我这边描述一下基本的大概情况:

2.1.2 首先第一个就是定时器是什么?

定时器是stm32内部的外设,具有计数寄存器,计数寄存器可以向上向下计数,达到计数值后可以触发中断。是单片机内部资源,不需要其他外部设备。

2.1.3 第二个是定时器时间怎么计算

首先要知道的就是定时器的时钟来源是系统时钟,然后经过定时器分频。有个寄存器psc就是配置分频系数的。经过psc分频后的频率值TIM_Hz = SYS/(psc+1)。比如系统时钟频率是72M,psc设置成71时,定时器频率就是72M/(71+1)=1M。然后计数一次的时间就是1/TIM_hz=1/1M= 1us,设置重装载计数器寄存器值ARR为1000,那么等重装载计数器计数到0,一共计数1000次进入中断,即计数1us*1000=1ms进入中断。定义一个变量times,如果设置times值为1000后翻转led灯电平,即经过1000次中断后翻转led灯电平,即1s钟翻转led灯电平。实现led灯1s闪烁。

以上就是定时器计时计算方式。

现在有个问题,那就是jd之前代码电路板运行灯是怎么控制闪烁的?答:应该是靠滴答定时器计时闪烁的。

基本定时器章节,剩下的就是定时器和中断配置方式了。

2.2

三、

3.1


总结

未完待续

相关推荐

  1. TIM定时器

    2024-03-13 13:12:03       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 13:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 13:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 13:12:03       82 阅读
  4. Python语言-面向对象

    2024-03-13 13:12:03       91 阅读

热门阅读

  1. 使用Docker搭建Jellyfin

    2024-03-13 13:12:03       61 阅读
  2. 设计一个生产制造系统100问?

    2024-03-13 13:12:03       36 阅读
  3. Linux异步通知简介

    2024-03-13 13:12:03       48 阅读
  4. Linux无分区表

    2024-03-13 13:12:03       47 阅读
  5. ceph 换盘扩容

    2024-03-13 13:12:03       42 阅读
  6. pinia和vuex区别?

    2024-03-13 13:12:03       39 阅读
  7. mysql备份和还原全部的数据库

    2024-03-13 13:12:03       37 阅读
  8. 01背包与完全背包

    2024-03-13 13:12:03       41 阅读
  9. 动态规划介绍和示例

    2024-03-13 13:12:03       40 阅读
  10. MYSQL------从概述到DQL

    2024-03-13 13:12:03       33 阅读
  11. JVM-1

    JVM-1

    2024-03-13 13:12:03      39 阅读