找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 732|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

一個(gè)基于中斷以及回調(diào)的多旋轉(zhuǎn)編碼器驅(qū)動(dòng)庫(kù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:290373 發(fā)表于 2025-2-16 12:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
庫(kù)的特性:
  • 支持 1C1P & 2C1P 模式的編碼器
  • 采用鏈表管理編碼器實(shí)例,支持多編碼器操作
  • 可為編碼器分配不同 id,重用一個(gè)編碼器事件回調(diào)函數(shù)


使用效果:


使用方式:
  • 將 Lib 文件夾下的 encoder.c 以及 encoder.h 分別添加到編譯以及包含列表中;
  • 在程序中使用 Encoder 類型聲明一個(gè)編碼器對(duì)象;
  • 實(shí)現(xiàn)編碼器的信號(hào)讀取函數(shù)(Encoder_Signal_Read 類型)以及事件回調(diào)函數(shù)(Encoder_Rotate_Callback 類型);
  • 使用 Encoder_Init 函數(shù)對(duì)編碼器對(duì)象進(jìn)行初始化;
  • 在編碼器的 A 信號(hào)中斷函數(shù)中調(diào)用 Encoder_A_Dual_Edge_Interrupt 函數(shù);
  • 在主循環(huán)中調(diào)用 Encoder_Poll 函數(shù)對(duì)編碼器事件進(jìn)行處理。


同時(shí)上傳于 Github:github.com/DT9025A/Rotary_Encoder,歡迎大家提交 PR 來共同完善這個(gè)庫(kù)

Rotary_Encoder.zip

10.94 KB, 下載次數(shù): 0, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表