找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 866|回复: 0
打印 上一主题 下一主题
收起左侧

一个基于中断以及回调的多旋转编码器驱动库

[复制链接]
跳转到指定楼层
楼主
ID:290373 发表于 2025-2-16 12:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
库的特性:
  • 支持 1C1P & 2C1P 模式的编码器
  • 采用链表管理编码器实例,支持多编码器操作
  • 可为编码器分配不同 id,重用一个编码器事件回调函数


使用效果:


使用方式:
  • 将 Lib 文件夹下的 encoder.c 以及 encoder.h 分别添加到编译以及包含列表中;
  • 在程序中使用 Encoder 类型声明一个编码器对象;
  • 实现编码器的信号读取函数(Encoder_Signal_Read 类型)以及事件回调函数(Encoder_Rotate_Callback 类型);
  • 使用 Encoder_Init 函数对编码器对象进行初始化;
  • 在编码器的 A 信号中断函数中调用 Encoder_A_Dual_Edge_Interrupt 函数;
  • 在主循环中调用 Encoder_Poll 函数对编码器事件进行处理。


同时上传于 Github:github.com/DT9025A/Rotary_Encoder,欢迎大家提交 PR 来共同完善这个库

Rotary_Encoder.zip

10.94 KB, 下载次数: 0, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表