标题: 请指教EC11旋转编码器快旋与慢旋处理 求思路 [打印本页]

作者: WCM1998    时间: 2019-8-9 08:00
标题: 请指教EC11旋转编码器快旋与慢旋处理 求思路
请问大侠旋转编码器快旋与慢旋怎么处理、如快旋加10慢旋加1、谢谢
作者: WCM1998    时间: 2019-8-9 22:18
没人用过?
作者: Y_G_G    时间: 2019-8-10 09:26
设定一个变量,每次有效的转动就加一次这个变量,另外一个按键改变这个变量,这不就可以一次加1或者加10了吗
作者: wawq2003    时间: 2019-8-10 10:37
首先你完成了旋转编码器工作模式的解读并完成了对应的单次计数的操作,对于快和慢的旋转只是考虑两次计数的时间,同时根据两次计数的时间不同可以设置不同的累加模式1X、2X、5X、10X等

作者: WCM1998    时间: 2019-8-14 17:44
wawq2003 发表于 2019-8-10 10:37
首先你完成了旋转编码器工作模式的解读并完成了对应的单次计数的操作,对于快和慢的旋转只是考虑两次计数的 ...

wawq2003你好可以帮我写几句这样的代码吗?谢谢
作者: WCM1998    时间: 2019-10-9 10:36
wawq2003 发表于 2019-8-10 10:37
首先你完成了旋转编码器工作模式的解读并完成了对应的单次计数的操作,对于快和慢的旋转只是考虑两次计数的 ...

大侠你好!我现在编码器程序是弄好了、右旋CC=1、左旋CW=1、我想判断快旋、比如快速右旋值加5或加10、怎么判断呢??谢谢

作者: dzbj    时间: 2019-10-9 22:23
你定义一个变量 变量被计时器累加 每次有触发就清零它 然后计数固定数(即固定时长) 再比较这之间触发过多少次 超过阀值则认为是快转

if(编码器有旋转)
{
计数器清零
}

此时累加触发次数

if(计数器==10)
{
计数器清零
if(累加次数>5)
{
快转
}
else

慢转

}

相同时间内触发次数多就是快 少就是慢 大概就是这意思
作者: WCM1998    时间: 2019-10-10 22:04
dzbj 发表于 2019-10-9 22:23
你定义一个变量 变量被计时器累加 每次有触发就清零它 然后计数固定数(即固定时长) 再比较这之间触发过多少 ...

谢谢大侠、我试下
作者: cooleaf    时间: 2022-4-7 16:58
7楼思路完全可行!建议楼主可以试试!
作者: ankangyu    时间: 2022-4-8 08:09
单位时间内的脉冲数
作者: 20310703    时间: 2024-3-15 23:21
dzbj 发表于 2019-10-9 22:23
你定义一个变量 变量被计时器累加 每次有触发就清零它 然后计数固定数(即固定时长) 再比较这之间触发过多少 ...

受教了,谢谢。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1