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

STM32 EC11旋转编码器扫描读取

EC11电路如下
在这里插入图片描述
扫描代码如下,经测试靠谱

    uint32_t wait_t = 0;bool encoder_switch = 0;uint8_t encoder_a_pre = HAL_GPIO_ReadPin(GPIOA, EC11_A_Input_Pin);int32_t steps = 0;uint8_t encoder_a_temp ;/* Infinite loop */while (1){uint32_t t = HAL_GetTick();uint8_t encoder_a = HAL_GPIO_ReadPin(GPIOC, EC11_A_Input_Pin);uint8_t encoder_b = HAL_GPIO_ReadPin(GPIOC, EC11_B_Input_Pin);if (encoder_a_pre != encoder_a && !encoder_switch){wait_t = HAL_GetTick();encoder_a_temp = encoder_a;encoder_switch = true;}if (encoder_switch && ((t - wait_t) >= 1)){if (encoder_a_temp != encoder_a){encoder_a_pre = encoder_a;encoder_a_temp = encoder_a;encoder_switch = false;continue;}//a 0->1, b 0 Clockwise; b 1 AntiClockwiseif (encoder_a == 1){if (encoder_b == 0){steps++;}else{steps--;}}//a 1->0, b 1 Clockwise; b 0 AntiClockwiseelse{if (encoder_b == 1){steps++;}else{steps--;}}encoder_a = HAL_GPIO_ReadPin(GPIOC, EC11_A_Input_Pin);encoder_b = HAL_GPIO_ReadPin(GPIOC, EC11_B_Input_Pin);encoder_switch = false;encoder_a_pre = encoder_a;}}
http://www.dtcms.com/a/470198.html

相关文章:

  • 如何对抗GPS欺骗式干扰之二:多天线阵列测向的识别原则和应用场景
  • Linux 内核网络调优:单连接大带宽吞吐配置
  • STM32 外设驱动模块【含代码】:XY摇杆模块
  • 商会网站模板河南核酸检测vip
  • 外骨骼手套带来了一种仅用手就能与XR进行交互的更自然的方式
  • 学习随笔-Math
  • Android 权限模型(前台、后台、特殊权限)
  • 成安专业做网站公司注册的流程与步骤
  • 多个编码智能体同时使用会不会混乱?
  • wpf中调用NumericUpDown控件
  • JVM(九)-- 类的生命周期
  • 数字孪生重构智慧园区:众趣科技何以成为 VR 园区领域标杆
  • LeetCode 刷题【113. 路径总和 II】
  • 网站英文联系我们毕设做购物网站系统的原因
  • 当涂城乡建设局的网站wordpress 链接主题
  • 利用ps制作网站的设计江苏省建设工程集团
  • Linux内核架构浅谈9-Linux内核的开源生态:开发者协作与版本迭代机制
  • 【经验总结】AUTOSAR架构下NvM进入无限循环问题分析
  • 春招准备之Git篇
  • 11-py调用js
  • 分析竞争对手网站公司网站建设怎么
  • 2.Xshell效率实战:SSH管理秘籍的技术
  • 长春网站建设长春建设一个视频网站需要什么
  • 网站建设的设计方案平度市网站建设
  • Salesforce项目老掉坑?这8个思维陷阱千万别踩
  • 从递归到迭代的全方位解析——力扣38.外观数列(Count and Say)
  • 深度学习(DL)概念及实例操作
  • 基于单片机的四点位水位控制与报警系统设计
  • 如何将Python脚本输出(含错误)全量保存到日志文件?实战指南
  • 3d网页游戏排行做360手机网站优化