设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【LSP】HAL库 STM32CubeMX教程---定时器输入
返回列表
发帖
查看:
237
|
回复:
0
[其他技术]
【LSP】HAL库 STM32CubeMX教程---定时器输入
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 17:04:07
|
显示全部楼层
|
阅读模式
前言:本系列教程将外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用
所用工具:1、芯片: STM32F407ZET6/STM32F103ZET62、STM32CubeMx软件3、IDE: MDK-Keil软件4、STM32F1xx/STM32F4xxHAL库 5知识概括:通过本篇博客您将学到:SMT32定时器输入捕获 测量PWM频率和占空比输入捕获
输入捕获概念输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6、TIM7,其他的定时器都有输入捕获的功能。具体请参看《【STM32】HAL库 STM32CubeMX教程六----定时器中断》输入捕获的工作原理
①先设置输入捕获为上升沿检测,②记录发生上升沿时TIMx_CNT(计数器)的值③配置捕获信号为下降沿捕获,当下降沿到来的时候发生捕获④记录此时的TIMx_CN(计数器)T的值⑤前后两次TIMx_CNT(计数器)的值之差就是高电平的脉宽。同时根据TIM的计数频率,我们就能知道高电平脉宽的准确时间。 简单说:当你设置的捕获开始的时候,cpu会将计数寄存器的值复制到捕获比较寄存器中并开始计数,当再次捕捉到电平变化时,这是计数寄存器中的值减去刚才复制的值就是这段电平的持续时间,你可以设置上升沿捕获、下降沿捕获、或者上升沿下降沿都捕获, 输入捕获的工作流程(对应CubeMx的四个选项)
设置输入捕获滤波器STM32在很多功能中都提供了滤波器,滤波器的功能简单来说就是多次检测视为一次有效,达到滤波效果,数字滤波器由一个事件计数器组成,假设我们是检测高电平,滤波N次,那么记录到N个事件后计数器会产生一个输出的跳变。也就是说连续N次采样检测,如果都是高电平,则说明这是一个有效的电平信号,这样便可以过滤掉那些因为某些而干扰产生的一些信号 输入捕获滤波器IC1F[3:0],这个用于设置采样频率和数字滤波器长度。其中:fCK_INT是定时器的输入频率,fDTS是根据TIMx_CR1的CKD[1:0]的设置来确定的。设置输入捕获极性设置具体为那种捕获事件可以设置上升沿捕获、下降沿捕获、或者上升沿下降沿都捕获
设置输入捕获映射关系STM32为了更好的优化使用,TIMx_CH1通道1捕捉到的信号可以传输到IC1,TIMx_CH1捕捉到的信号也可以连接到IC2,TIMx_CH2捕捉到的信号也可以连接到IC2,也可以连接到IC2 设置输入捕获分频器设置每N个事件触发一次捕获,可以设置为1/2/4/8次检测到电平变化才触发捕获 溢出时间计算:
t1时刻检测到高电平,发生中断,在中断里将计数值置0,开始记溢出次数N,其中每计数0xFFFF次溢出一次,直到t2时刻跳变回低电平,获取最后一次溢出时到t2时刻的计数值TIM5CH1_CAPTURE_VAL则 高电平时间 = 溢出次数*65535+TIM5CH1_CAPTURE_VAL us ;根据定时器初始化时的频率即可计算出溢出总次数所占用的时间,即为高电平时间。如果计数器值为 32 bit 那么最大为0xFFFFFFFF 高电平时间: 输入捕获的工作框图 工程创建设置RCC设置高速外部时钟HSE 选择外部时钟源2设置时钟我的是 外部晶振为8MHz 1选择外部时钟HSE 8MHz 2PLL锁相环倍频72倍3系统时钟来源选择为PLL4设置APB1分频器为 /25 这时候定时器的时钟频率为72Mhz32的时钟树框图 如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》3定时器配置这里我们选择TIM5的通道1预分频系数为71 计数时钟频率就是 72MHz/(71+1) = 1MHz 此时1us计数一次自动加载值设置为32bit最大值 0xFFFFFFFF 上升沿捕获不分频滤波值为8同时在NVIC一栏使能TIM5的中断对应引脚设置下拉电阻,保证没有信号输入的时候电平稳定4项目文件设置 1 设置项目名称2 设置存储路径3 选择所用IDE 5创建工程文件然后点击GENERATE CODE 创建工程配置下载工具新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行
捕获
,
电平
,
设置
,
输入
,
定时器
相关帖子
•
【Max】团队 教大家如何实现文本转语音
•
【FUT】可设置时间的注册机??
•
【FUT】web安全教程-漏洞挖掘-如何去查找漏洞
•
【FUT】 iapp代码分享
•
【FUT】AIDE第二课
•
【FUT 】单个按钮设置圆角源码
•
【FUT】CSS实例设置一个图像作为背景
•
【FUT】iapp计算人品代码
•
[emlog资源网络模板]resource bar V5下载站模板2.0模板emlog源代码
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表