STM32F4XX 采集编码器的溢出处理

2023-05-16

STM32F4XX定时器16位,采集编码器时候会在0xFFFF溢出(假设配置period = 0xFFFF)

假设不溢出的情况下1ms之内编码器变化的最大范围小于0x7FFF,则关于溢出则可以进行如下处理,此时EncCnt 便是累计的编码器取值

配置定时器时屏蔽定时器的溢出中断。

反转的变化规律为0溢出突变到65535,然后平缓向0

正转的变化规律为0平缓到65535,然后突变到0

int volatile EncCnt = 0;// 编码器取值

void SysTick_Handler(void)
{// systick中断,1ms一次
  static int encoder[2] = {0 , 0};// 两次编码器读值,用以计算溢出方向
  static int N = 0;// 圈数
  encoder[1] = TIM3->CNT;
  if( (encoder[1] - encoder[0] ) > 0x7FFF) 
  {
     N--;
  }
  else if( (encoder[0] - encoder[1] ) > 0x7FFF) 
  {
    N++;
  }
  EncCnt = N * 0xFFFF + encoder[1];
  encoder[0] = encoder[1];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F4XX 采集编码器的溢出处理 的相关文章

  • 面向对象版图书管理系统

    span class token keyword package span org span class token punctuation span wdit span class token punctuation span unit0
  • 抽象类

    1 抽象类 概述 xff1a 用来描述抽象概念的类 xff0c 叫做抽象类 抽象类中的方法不一定有具体的实现 span class token keyword package span org span class token punctu
  • 对于MyBatis框架的学习

    1 MyBatis MyBatis 它是Apache的一个开源项目 iBatis 2010年这个项目由apache software foundation 迁 移到了google code xff0c 并且改名为MyBatis 2013年1
  • Spring Boot 原理的分析(超详细!!!)

    1 Spring Boot Spring Boot 没有特定的业务 xff0c 将其他框架进行整合 xff0c 去掉配置 开箱即用 Spring Boot 跟 Spring MVC 的整合 Spring Boot 跟 Thymeleaf 的
  • 多线程进阶=> JUC并发编程(超详细!)

    多线程进阶 61 gt JUC并发编程 1 什么是JUC java util 工具包 xff08 包 分类 xff09 业务 xff1a 普通的线程代码 Thread Runnable 没有返回值 效率相比于 Callable 相对较低 x
  • @Data 注解在实体类的使用可省去生成GET,SET方法

    描述 xff1a 使用lombok插件省去实体类生成GET xff0c SET方法 使用步骤 xff1a 1 打开intellij idea开发工具 File Settings Plugins xff0c 在右侧单击 Browse repo
  • Android ViewBinding的使用详解

    一 什么是view binding 视图绑定会替代 findViewById 通过视图绑定功能 xff0c 您可以更轻松地编写可与视图交互的代码 在模块中启用视图绑定之后 xff0c 系统会为该模块中的每个 XML 布局文件生成一个绑定类
  • 对树结构的学习

    树的常用术语 节点 xff0c 树中的一个连接点 父节点 xff0c 若一个节点含有子节点 xff0c 则这个节点成为其子节点的父节点 子节点 xff0c 一个节点含有的子树的根节点成为该节点的子节点 节点的权 xff0c 节点的具体值 节
  • 对Redis数据库的学习!

    Redis的学习 1 Nosql概述 为什么要用Nosql 1 单击MySQL的年代 90年代 xff0c 一个基本的网站访问量一般不会太大 单个数据库完全足够 那个时候 更多的去使用静态网页Html 服务器根本没有太大的压力 思考一下 这
  • 常用设计模式的学习

    1 设计模式 1 1概述 xff1a 软件设计模式 xff08 Software Design Pattern xff09 xff0c 又称设计模式 xff0c 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 它描述了在
  • Archlinux + Gnome 安装教程

    1 制作装机工具 Ventoy 2 下载 archlinux 镜像 archlinux 种子文件 3 选择U盘启动 Ventoy 4 步骤 span class token comment 更新系统时间 span timedatectl s
  • HTTP请求:java.io.IOException: Server returned HTTP response code: 405 for URL

    写Http请求的时候报405 报错如下 xff1a 错误码405 xff1a 表示不允许此方法 xff1a 对于请求所标识的资源 xff0c 不允许使用请求行中所指定的方法 常用的几个方法 xff1a GET POST PUT DELETE
  • MongoRepository的 findAll(Example example, Pageable )的使用方法

    Example example 61 Example of 实体类 xff0c ExampleMatch package com xuecheng manage media service import com xuecheng frame
  • nginx反向代理解决外网端口膨胀的问题

    问题 xff1a 现在很多涉及到第三方回调我们接口的情况 我们不能无限制的开通外网端口的映射 xff08 需要提流程 xff09 解决方案 xff1a 基于nginx对一个映射过外网的端口进行反向代理 实例如下 server listen
  • 2014流水账

    欢迎转载 xff0c 转载请注明出处 本文地址 xff1a http blog csdn net zhenggaoxing article details 42386821 三天元旦小长假结束了 xff0c 先来回顾下三天的假期 xff1a
  • IOS中文排序学习

    前言 xff1a 最近有中文排序的需要 xff0c 发现系统没有提供中文排序的方法 xff0c 于是参考学习了网上前辈的代码实现了中文排序功能 xff0c 本文记录的就是学习实现中文排序的过程 实现英文排序 系统提供了英文排序的方法 写了一

随机推荐

  • IOS 定制中间突出UItabBar

    前言 xff1a 公司的项目需要定制一个中间突出的TabBar xff0c 在github 上找到一份可以参考的代码 xff08 虽然是四年前的 xff0c 但是还是很有参考价值 xff09 网址 xff1a https github co
  • intellj idea打包jar

    描述 xff1a 用 intellj idea 工具打包java项目 jar 步骤 xff1a 1 xff1a File Project Structure 2 xff1a 图中 1 部分要选择main方法所在的类 xff0c 2 部分要注
  • Xcode删除所有断点

    问题是这样的 xff1a 接手新的项目 xff0c 顿时吓尿了 xff1a 整个程序有无数个断点 xff0c 那么如何一次性删除呢 xff1f 如下图 xff1a 点击Belete Breakpoints 就可以了
  • TortoiseSVN使用教程[多图超详细]

    安装及下载client 端 下载Windows 端程序 xff1a http tortoisesvn net downloads 一般而言 xff0c 如果是32 bit的Windows XP 应该使用TortoiseSVN 1 4 x x
  • 将UIColor转换为RGB值

    objc view plain copy 将UIColor转换为RGB值 NSMutableArray changeUIColorToRGB UIColor color NSMutableArray RGBStrValueArr 61 NS
  • 业余时间你在做什么,你就会变成什么样的人?

    改变 xff0c 从业余时间开始 博客定位 xff1a 技术 43 思考 其余统统不要 2017 xff0c 我来了 xff01
  • Xcode9 无证书真机调试

    写在前面 公司分配了新的测试机 证书99台名额已满 所以上网找教程 学习了一下如何使用Xcode无证书进行真机调试 一 创建证书 1 运行Xcode xff0c Xcode Preference 添加账号 xff08 能在appstore下
  • HTML知识点

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • SpringCloud:seata 服务端启动以及介绍(1)

    SpringCloud xff1a seata 服务端启动以及介绍 文章目录 SpringCloud xff1a seata 服务端启动以及介绍关联文章1 seata是什么1 1 四种事务模式1 2 三种角色 2 启动seata 服务端 x
  • 简单审批流程表设计

    审批配置表 xff08 approval config xff09 字段名称 类型 长度 约束 备注 code varchar 64 not null 审批流程code type tinyint 1 not null 审批方式 xff1a
  • 学习笔记—— unreferenced local variable

    file c xff08 xff09 warning C 39 xxx 39 unreferenced local variable 变量XXX定义了 但是在程序中没有使用到 发出的一则警告 目前来看 xff0c 不影响程序的运行
  • STM32定时器配置为编码器模式(转)

    文章目录 一 编码器原理 二 为什么要用编码器 三 STM32编码器配置相关 四 STM32实战代码 五 一些注意 参考 一 编码器原理 如果两个信号相位差为90度 xff0c 则这两个信号称为正交 由于两个信号相差90度 xff0c 因此
  • java实现倒计时

    package timer import java util Calendar import java util Date import java util Timer import java util TimerTask java演示倒计
  • linux终端字符串转字符画

    概述 xff1a 将字符串 xff08 非图像 xff09 转换成字符画 xff0c 效果如图 xff1a lt
  • fastboot -- 如何刷系统中各个img文件

    Android系统adb刷机 作者 xff1a 郑鹤翔 在android的各个可用软件中 xff0c adb fastboot是最常用的一种 xff0c 作为开发人员 xff0c 我们需要经常的进行内核 xff0c 系统代码等的修改 xff
  • AndroidStudio Kotlin项目搭建

    简介 xff1a 本文主要先大概介绍一下怎么在as上搭建kotlin项目 xff0c 然后主要具体介绍kotlin的语法 安装kotlin plugin 在AS 3 0及以后的版本是自带Kotlin plugin的 xff0c 但是如果你现
  • Mariadb安装之后的各种设置

    1 启动MariaDB 安装完成MariaDB xff0c 首先启动MariaDB xff0c 两条命令都可以 systemctl start mariadb 或者 service mariadb start 设置开机启动 systemct
  • python读取文件失败解决方案

    python读取文件失败解决方法 我的目录如下 python text files pi digits txt python text files file reader py 1 python默认读取当前根目录 注意 Linux 目录间用
  • from matplotlib.cbook import is_string_like, el ImportError: cannot import name 'is_string_like'

    Traceback most recent call last File 34 321 py 34 line 2 in lt module gt import matplotlib pyplot as pt File 34 C Progra
  • STM32F4XX 采集编码器的溢出处理

    STM32F4XX定时器16位 xff0c 采集编码器时候会在0xFFFF溢出 xff08 假设配置period 61 0xFFFF xff09 假设不溢出的情况下1ms之内编码器变化的最大范围小于0x7FFF xff0c 则关于溢出则可以