找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 998|回复: 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 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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