首页 > 其他分享 >STM32定时器中断实验

STM32定时器中断实验

时间:2024-07-24 22:24:32浏览次数:20  
标签:输出 功能 定时器 TIM 中断 STM32 计数 Timers

1.定时器介绍 

STM32中的定时器根据其功能复杂程度,可以分为基础定时器(Basic Timers)、通用定时器(General-Purpose Timers)和高级定时器(Advanced-Control Timers)。以下是这三种定时器的主要功能概述:

1. 基础定时器(Basic Timers)

主要功能

  • 基本计时:基础定时器具有较为简单的功能,通常用于基本的计时和触发任务。
  • 触发输出:能够触发输出,直接驱动DAC(数字到模拟转换器)。

使用场景

  • 定时任务
  • 驱动DAC

特点

  • 通常只有两个定时器(如STM32F4系列中的TIM6和TIM7)。
  • 只支持向上计数模式。
  • 只支持内部时钟源。

2. 通用定时器(General-Purpose Timers)

主要功能

  • 基本计时:包含基础定时器的所有功能。
  • PWM生成:能够生成PWM(脉冲宽度调制)波形,用于电机控制等场景。
  • 脉冲计数:能够计数外部脉冲,用于频率测量等。
  • 输入捕获:捕获外部信号的边沿变化,用于测量外部信号的频率或脉宽。
  • 输出比较:将计数器值与预设值进行比较,并根据比较结果控制输出。

使用场景

  • PWM控制
  • 频率测量
  • 脉冲计数
  • 输入信号捕获

特点

  • 通用定时器数量较多(如STM32F4系列中有10个)。
  • 支持向上计数、向下计数和中央对齐计数模式。
  • 支持内外部时钟源。

3. 高级定时器(Advanced-Control Timers)

主要功能

  • 通用定时器的所有功能:包括PWM生成、脉冲计数、输入捕获、输出比较等。
  • 特殊功能
    • 相位锁定回路(PLL):支持相位锁定回路,用于时钟同步。
    • 编码器接口:支持编码器接口,用于读取编码器的位置信息。
    • 三角波生成:能够生成三角波等复杂波形。
    • 重复计数器:用于在计数器溢出时重复计数,延长定时时间。
    • 死区生成:在PWM输出时生成死区时间,防止互补输出同时导通导致短路。
    • 互补输出:支持互补输出,用于驱动三相无刷电机等需要互补信号的负载。
    • 刹车输入:支持刹车输入,用于在紧急情况下切断电机输出。

使用场景

  • 音频处理
  • 高级电机控制
  • 编码器接口

特点

  • 高级定时器数量较少(如STM32F4系列中有2个,TIM1和TIM8)。
  • 功能最为强大,适用于需要复杂定时和控制的应用场景。

在我学习的f1(f103)系列中,有基础定时器2个(TIME6、TIME7),通用定时器4个(TIME 2-5),高级定时器2个(TIME1、TIME8)。

综上所述,STM32中的定时器根据功能复杂程度划分为基础定时器、通用定时器和高级定时器,每种定时器都有其特定的功能和适用场景。在实际应用中,可以根据具体需求选择合适的定时器类型。

4.通用计时器结构框图

 

APB1总线不倍频是36MHZ,APB2是72MHZ 

基本定时器和通用定时间的来源都是APB1,不过要倍频成72MHZ,而高级定时器来自APB2,直接是72MHZ。

2.通用计时器配置步骤

TIM_Presaler  预分频寄存器

TIM_CounterMode 计数器模式    向上计数、向下计数、中心对称计算(向上向下计数)

TIM_Period          自动重载值  

TIM_ClockDivision  时钟分频影子 通常设置成1,不分频

TIM_RepetitionCounter  重复计时器,用在高级定时器上的(8位)

1Khz等于1ms 2Khz=0.5ms 时间是频率的倒数 1S=1000ms

3.实验功能

定时器初始化

 未完待续:

标签:输出,功能,定时器,TIM,中断,STM32,计数,Timers
From: https://blog.csdn.net/qq_53124654/article/details/140516548

相关文章

  • STM32中断方式发送字符串的两种方法(判断TC和TXE)
    以前一直是用查询方式发送字符串的。今天研究了下手册,看到两个标志位TC和TXE,两种判断方式均可用。先说TC。即TransmissionComplete。发送一个字节后才进入中断,这里称为“发送后中断”。和原来8051的TI方式一样,都是发送后才进中断,需要在发送函数中先发送一个字节触发中断。发......
  • SPI协议——结合百问网STM32入门 STM32 HAL快速入门与项目实战视频
    目录1、SPI协议的概念2、SPI的传输模式2.1SPI工作模式2.2SPI传输模式2.3SPI操作方法3、时序图4、代码实现4.1SPIHAL库编程4.2中断方式4.3DMA方式函数说明5、总结5.1SPI协议的优点5.2SPI协议的缺点1、SPI协议的概念SPI(SerialPeripheralInterface,......
  • 学习STM32的SPI总线通信
    学习STM32的SPI总线通信需要了解SPI的基本原理和STM32的库函数使用方法。SPI(SerialPeripheralInterface)是一种全双工的同步串行通信总线,用于在微处理器或微控制器与外围设备之间传输数据。在STM32中,SPI总线通信需要使用SPI外设和相关的库函数。SPI外设包括多个SPI控制器,每个......
  • STM32入门教程:LED闪烁
    STM32是一款流行的微控制器系列,具有广泛的应用领域。在本教程中,我们将介绍如何使用STM32来控制LED灯的闪烁。第一步:准备工作在开始编写代码之前,我们需要准备一些必要的工具和材料。首先,我们需要一款能够编程的STM32微控制器开发板,例如ST-LinkV2。其次,我们需要一个集成开发......
  • 使用STM32实现简单的网络通信
    概述在本文中,我们将介绍如何使用STM32微控制器实现简单的网络通信。我们将使用STM32Cube软件来配置和编程STM32微控制器。我们将使用TCP/IP协议栈,以便在STM32微控制器与计算机之间进行通信。我们将通过创建一个简单的服务器端和一个客户端来演示网络通信的实现。准备工作在......
  • STM32入门教程:智能健康监测
    STM32是一种嵌入式微控制器,是STMicroelectronics公司开发的一款产品。它具有高性能、低功耗、丰富的外设接口等特点,非常适合用于智能健康监测等应用领域。本教程将以智能健康监测为例,详细介绍如何使用STM32进行开发。主要包括以下内容:硬件准备开发环境搭建传感器使用......
  • STM32F103C8T6与LD3320进行串口通讯控制LED灯的亮灭
    目录概要整体架构流程技术名词解释技术细节LD3320部分LD3320串口测试32单片机代码部分main.c(要与LD3320保持一致)串口部分概要STM32微控制器与LD3320语言模块通过串口进行数据交互,实现语音识别和控制功能。整体架构流程通过STC-ISP将LD3320部分的代码烧录进LD......
  • 零基础STM32单片机编程入门(十九) 4位数码管显示模块实战含源码
    文章目录一.概要二.4位数码管主要参数三.数码管显示器的工作原理四.74HC595芯片介绍1.74HC595芯片内部框图2.74HC595通讯时序五.4位数码管原理图六.4位数码管显示实验七.CubeMX工程源代码下载八.小结一.概要数码管显示器是一类价格便宜、使用简单,通过对其不同的管......
  • STM32驱动NRF24L01模块
    STM32驱动NRF24L01模块模块简介:NRF24L01模块是一款2.4GHZ无线通信模块。其参数如下:2.4GHzISM频段250Kbps,1Mbps,2Mbps三种空中传输速率输出功率为0dBm时发射功耗为11.3mA空中传输速率为2Mbps时接收功耗为13.5mAPowerdown模式功耗低至900nA,Standby-I模式功耗低至2......
  • CrowdStrike的影响:全球IT中断如何摧毁世界科技
    2024年7月19日windows蓝屏事件一、前言​CrowdStrike遭遇了全球IT中断,凸显了互联全球供应链的脆弱性。根据Interos的数据,此次中断影响了CrowdStrike和Microsoft的674,620个直接客户关系,并间接影响了超过4900万客户关系。虽然美国是受影响最严重的国家,受影响......