当前位置: 首页 > news >正文

完整教程:带你了解STM32:TIM定时器(第四部分)

完整教程:带你了解STM32:TIM定时器(第四部分)

目录

0.STM32中机制最强大、结构最复杂的一个外设——定时器(四部分学习)

第一部分:

第二部分:

第三部分:

第四部分:

1.编码器接口简介

2.正交编码器

3.编码器接口基本结构

4.工作模式

5.实例(均不反相)

6.实例(TI1反相)

7.编码器接口测速代码

第一步:按图接线到面包板上

第二步:复制定时器定时中断的代码

第三步:编码器代码模块化

第四步:编码器初始化

编码器接口相关库函数

第五步:写编码器的增量值函数并头文件声明

第六步:主函数调用

编码器接口测速完整代码

8.编码器接口相关库函数


0.STM32中机制最强大、结构最复杂的一个外设——定时器(四部分学习)

第一部分:

首要是定时器基本定时的效果,定一个时间,随后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段时间的目的,比如:时钟、秒表、一些程序算法时

第二部分:

主要是定时器输出比较的功能,输出比较这个模块最常见的用途是产生PWM波形,用于驱动舵机、直流电机等设备

第三部分:

主导是定时器输入捕获的特性,使用输入捕获这个模块来搭建测量方波频率的例子

第四部分:

主要是定时器的编码器接口,使用该编码器接口,能够更加方便地读取正交编码器的输出波形,在编码电机测速中,应用非常广泛



1.编码器接口简介

Encoder Interface 编码器接口

编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度

每个高级定时器和通用定时器都拥有1个编码器接口

两个输入引脚借用了输入捕获的通道1和通道2

编码器接口模式基本上相当于使用了一个带有方向选择的外部时钟


2.正交编码器


3.编码器接口基本结构

输入捕获前两个通道,通过GPIO口接入编码器的A、B相,然后通过滤波器和边沿检测极性选择,产生TI1FP1和TI2FP2,通向编码器接口,编码器接口通过预分频器控制CNT计数器的时钟,同时编码器接口还根据编码器的旋转方向,控制CNT的计数方向(编码器正转时,CNT自增,编码器反转时,CNT自减),ARR补码的特性,很容易得到负数


4.工作模式

正传向上计数,反转向下计数


5.实例(均不反相)

原来的那个值,并不受毛刺噪声的影响就是抗噪声原理:出现一个引脚不变,另外一个引脚连续跳变多次的毛刺信号,计数器就会加、减、加、减来回摆动,最终计数值,还


6.实例(TI1反相)


7.编码器接口测速代码

第一步:按图接线到面包板上

第二步:复制定时器定时中断的代码

第三步:编码器代码模块化

第四步:编码器初始化

初始化步骤:1.RCC开启时钟,开启GPIO和定时器的时钟;2.安装GPIO,这里需要把PA6和PA7配置为输入模式;3.配置时基单元,预分频器选择不分频,ARR自动重装给65535;4.配置输入捕获单元;5.部署编码器接口模式;6.启动定时器

电路初始化后,CNT就会随着编码器旋转自增自减,如果想要测出编码的位置,直接读出CNT的值,倘若想测量编码器的速度和方向,就每隔一段固定的闸门时间,取出CNT然后把CNT清零

编码器接口相关库函数

定时器编码器接口配置,参数(选择定时器,选择编码器模式,通道1的电平极性选择,通道2的电平极性选择)

第五步:写编码器的增量值函数并头文件声明

第六步:主函数调用

编码器接口测速完整代码


8.编码器接口相关库函数

定时器编码器接口设置,参数(选择定时器,选择编码器模式,通道1的电平极性选择,通道2的电平极性选择)

http://www.hskmm.com/?act=detail&tid=19746

相关文章:

  • 邮件怎么发送超大附件的实用解决方案
  • 告别无效对话:五个让AI输出质量提升10倍的提示词框架
  • 题解:CF2006E Iriss Full Binary Tree
  • CMakeLists.txt用法参考
  • 分布式ID生成算法——雪花算法的实现 - 浪矢
  • 5. Prompt 提示词 - Rainbow
  • 国产文件传输软件有哪些?今日份精选与实用推荐
  • 内外网文件摆渡系统:科研院所数据安全传输的关键支撑
  • 硬盘突然坏掉,我花了半个月才把数据救回来…(附数据恢复工具)
  • MCU的闪存(FLASH)按机制结构划分区域
  • T2
  • 题解:CF1930I Counting Is Fun
  • AI百炼大模型接入钉钉,实现在群中免@交互式新闻推送
  • K8S-Service 学习
  • docker常用命令
  • 纸浆2511
  • electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
  • 长江中游干流河道崩岸特征与机理研究综述
  • 基于 Python Keras 建立 猫狗图像的精准分类
  • 《ESP32-S3使用指南—IDF版 V1.6》第四十章 图片显示实验
  • 调度算法II
  • 鸿蒙应用开发从入门到实战(十六):线性布局案例
  • SQL注入流程
  • 完整的GLFW应用程序示例
  • 物理笔记
  • 基于Python+Vue开发的商城管理系统源码+运行步骤
  • HTML5-和-CSS3-迁移即时入门-全-
  • HTML5-多人游戏开发-全-
  • HTML5-地理位置即时操作指南-全-
  • 搭建环境