码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • STM32系列(HAL库) ——定时器编码器/正交解码模式


             STM32定时器的正交解码模式多用于检测电机的编码器脉冲数做闭环控制,如PID。本文简单介绍一下定时器在Cubemx如何配置以及程序引用到的API函数。

    一、前期准备

    1、硬件:

    • STM32C8T6最小系统板
    • USB-TTL串口模块
    • ST-Link下载器

    2、软件:

    • keil5-IDE
    • cubeMX 

    二、cubeMX配置

    1、配置RCC——选着外部时钟源

    2、配置SYS—— Serial Wire模式

    3、时钟树拉满72M

    4、配置串口1          

     5.编码器模式配置

    • 这里配置哪一个定时器都可以,只要在第2步存在 Encoder Mode 选项即可。
    • 第3步Encoder Mode T1 是只计上升沿,Encoder Mode T2是只计下降沿,Encoder Mode T1 and T2 就是2种都计。注意:此处可分别配置2个通道的触发模式,但截图只截到其中一个通道

     

     6.生成工程

            略

    三、keil5代码

    1、串口配置

            可以参考:STM32系列(HAL库) ——使用串口打印的3种方式,推荐第二种方法。

    2、main函数

            ①在while(1)循环前添加初始化

    1. uint16_t Count=0;
    2. uint16_t Diretion=0;
    3. HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL);

          ②在whlie(1)循环中打印方向和计数值

    1. Diretion = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim2);
    2. Count = __HAL_TIM_GET_COUNTER(&htim2);
    3. printf("转动方向:%d 脉冲数:%d \r\n",Diretion,Count );
    4. HAL_delay(500);
    • __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim2):返回 0 或 1 ,代表转动方向
    • __HAL_TIM_GET_COUNTER(&htim2):返回计数脉冲值
    • 如果想看相同时间间隔的脉冲值,可在获得计数后使用 TIM2->CNT=0; 语句将定时器计数值清零。默认情况下定时器会计满65535后变成0

     

  • 相关阅读:
    AM@幂级数性质@幂级数和函数求解
    【分享课】腾讯云大讲堂TDSQL(PG版)OSS平台管理-周四晚19:30
    C++通信框架
    SAP 自开发记录用户登录日志等信息
    Java中JCP, JEP, JLS, JSR是什么
    RocketMQ源码(13)—Broker 消息重放服务ReputMessageService源码解析
    【JAVASE】JDK8新特性
    ubuntu 安装串口工具和添加虚拟串口
    softmax汇总
    涅槃:时序数据库的终局与重生
  • 原文地址:https://blog.csdn.net/lwb450921/article/details/128060301
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号