9-STM32定时器系统(中)

简介: 9-STM32定时器系统

9.3 捕抓/比较功能

STM32F429微控制器的高级定时器和通用定时器中有输入捕抓通道和输出比较通道


1、输入捕抓通道:

1 ) 、频率测量、PWM信号周期、占空比测量,以及霍尔传感器输出信号测量等。

2 ) 、测量光电正交编码器输出信号,实现电机转速的测量。

2、输出比较通道:

实现PWM信号输出、6步PWM信号生成,用于电机控制。


9.3.1 输入捕抓/比较输出通道


1、输入捕抓通道


2、输出比较通道



9.3.2 输入捕抓模式


在使用输入捕抓通道1,当检测到TI1引脚上输入的信号出现上升沿时,将计数器的值捕抓到TIMx_CCR1中。具体操作步骤如下:

1.选择输入捕抓模式,IC1映射到TI1上

2.设定输入信号边沿检测的滤波功能(防抖动)

3.选择边沿触发方式

4.对输入预分频器进行编程

5.使能输入捕抓功能

6.设置捕抓中断和DMA请求

当连续两次捕抓同一输出信号的连续两个边沿跳变,两次得到的计数寄存器值分别为C1和C2(假设C1和C2计数期间没有溢出事件),那么这一输入信号的周期:

((C2-C1)/CK_CNT)/输入捕抓通道预分频系数。



PWM波的周期测量:



9.3.3 PWM输出模式


比较模式:


9.3.4 编码器接口模式

在编码器模式下,计数器会根据增量编码器的速度和方向自动进行修改,因此计数器内容始终表示编码器的位置。计数方向对应于定时器所连传感器的轴旋转方向。

不同编码器模式下的计数方式如下图:


9.4 定时器典型应用步骤及常用库函数


9.4.1 基本定时功能应用步骤


①使能定时器时钟。

RCC_APB1PeriphClockCmd();

②初始化定时器,配置ARR,PSC。

TIM_TimeBaseInit();

③开启定时器中断,选择中断请求事件并配置NVIC。

void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState  NewState);

NVIC_Init();

④使能定时器。

TIM_Cmd();

⑤编写中断服务函数。

TIMx_IRQHandler();


9.4.2 输入捕抓模式应用步骤


①使能定时器时钟和GPIO时钟

②初始化定时器输入捕抓通道引脚

③初始化定时器测量时钟

④设置输入捕抓通道

⑤选择定时器复位触发源

⑥开启定时器中断

⑦使能定时器

⑧编写中断服务函数


9.4.3 PWM输出应用步骤


①使能定时器时钟

②初始化定时器比较输出通道引脚

③定义PWM波的周期

④设置比较输出通道

⑤使能定时器

⑥开启定时器中断


9.4.4 编码器接口应用步骤


①使能定时器时钟

②初始化定时器编码器接口输入通道引脚

③定义编码器接口的计数值溢出值

④设置定时器编码器接口模式

⑤开启定时器中断

⑥使能定时器

⑦编写测量速度应用程序


9.4.5 常用库函数

640.png


640.png

相关文章
|
6月前
|
物联网 开发者 智能硬件
STM32:引领嵌入式系统新时代的微控制器
STM32:引领嵌入式系统新时代的微控制器
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
433 2
|
4月前
|
传感器
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
351 0
|
4月前
|
芯片
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
254 0
|
1月前
|
传感器 监控 物联网
基于STM32+微波雷达设计的非接触式睡眠监控系统
本项目开发一种非接触式的睡眠监控系统,该系统利用先进的60GHz毫米波雷达技术和STM32微控制器,实现了对人体在睡眠过程中的存在感知、运动感知以及生理指标如呼吸频率、心率的实时监测。系统能够自动评估睡眠质量,并在用户睡眠周期结束时提供睡眠评分。为了确保用户能够在任何地点了解自己的睡眠状况,系统集成了Wi-Fi模块,可以将收集到的数据上传至华为云物联网平台,并通过专门设计的移动应用程序供用户远程访问。此外,系统还具备超阈值报警功能,当检测到异常的生理指标时会发出警报提醒。本地1.44寸TFT LCD显示屏用于实时显示监测到的信息,包括生理指标和环境数据。为了全面监测用户的健康状况,系统还加入了
179 0
基于STM32+微波雷达设计的非接触式睡眠监控系统
|
1月前
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
73 0
|
1月前
|
传感器 网络协议 物联网
基于STM32的环境监测系统 (esp8267)(下)
基于STM32的环境监测系统 (esp8267)(下)
87 0
|
1月前
|
传感器 测试技术 芯片
基于STM32的环境监测系统 (esp8266)(上)
基于STM32的环境监测系统 (esp8266)(上)
269 0
|
2月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
233 0