码农知识堂 - 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

     

  • 相关阅读:
    TiDB 集群中能够采集的诊断数据类型
    注意 Laravel 清除缓存 php artisan cache:clear 的一个坑
    业务调整,业绩短期承压,市场热潮退去后的乐舱物流将驶向何方?
    用A-Spice思路解读“西门庆和潘金莲的不可描述之事”,不信你看不懂
    C语言time()函数的用法
    使用gitlab的基本过程,常用的git和gitlab命令
    HTTP 状态码详解及使用场景
    Advanced Installer使用(亲测可用)
    Python爬虫——Urllib库-3
    电脑监控软件是如何提高员工工作效率的?
  • 原文地址:https://blog.csdn.net/lwb450921/article/details/128060301
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号