完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在电子产品设计中,经常会用到旋转编码开关,比如数码电位器等,它的英文名翻译过来就是Rotary Encoder Switch。常见的有5pin和3pin产品。5pin实在左右旋转的基础上增加了向下按得功能。以EC11为例,常用语仪器仪表面板,音响面板等。其pin脚用途如下:
+ 1,3pin输出编码信号,一般需要外接上拉电阻。 考虑到通用性,所以下面的代码只实现旋转编码部分,按键部分忽略。 下图是1,3pin旋转时输出波形图,可以看到A,B信号相位相差90°。程序中可以通过边沿出现顺序判断编码器旋转方向 考虑到资源占用以及编码器性能,采用单pin中段模式。代码中设计以pinA为中断源,上边沿下边沿均产生中断。如上图,从左到右,蓝线处开始读取A,B的值,结合中断。状态表如下 A B 0 1 CCW,下降沿 1 1 CW,上升沿 1 0 CCW,上升沿 0 0 CW,下降沿 也就是说CW时,A,B状态一致;CCW时,A,B状态相反 根据上面状态变,对应的程序代码如下:
图片没有上传上来,可以去我的博客看,或者下载附件pdf
基于eBox旋转编码器-md.pdf
(128.35 KB, 下载次数: 54
)
edriver.zip
(1.45 KB, 下载次数: 50
)
|
|
相关推荐
|
|
这个版本的有点问题 ,输出不够稳定,修正了新版,如下链接 http://www.antsmaker.cn/forum.php?mod=viewthread&tid=37&extra=page%3D1 |
|
|
|
|
|
1307 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1234 浏览 3 评论
2313 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1404 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1834 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 09:06 , Processed in 0.678934 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号