更简单的扩展,工程师教你做I2C编码器
在正常操作期间可以即时写入这些寄存器。
通过将寄存器设置为I2C总线,可以配置几个选项。 使用GCONF寄存器,可以配置多个参数。
在配置中,可以设置编码器正交信号的极性,也可以设置编码器的输出是X1还是X2。
为了读取旋转编码器的运动,有4个32位寄存器:CVAL,CMAX,CMIN和ISTEP。
所有这4个寄存器都可以配置为32位INT或IEEE 754浮点数,这种格式可以在GCONF寄存器中设置。
每当编码器移动一步时,CVAL寄存器的值就会增加或减少ISTEP的值。 旋转方向决定是否从CVAL中添加或减去ISTEP。
CMAX和CMIN用于设置CVAL的最小和最大阈值。 在GCONF寄存器中,有WRAPE位。 该位用于在超过阈值时启用或禁用CVAL的包装功能。
例如,如果我将I2C Encoder V2配置如下:
CVAL = 0
CMAX = 5
CMIN = -5
ISTEP = 1
在编码器的每个旋转步骤中,我将使CVAL增加1。 CVAL可以达到的最大值为5,而最小值为-5。
当CVAL达到值5时,WRAPE设置为1时,在下一个增量CVAL处,它将被包装为-5。
每当编码器旋转一步并且CVAL触摸阈值时,就会产生一个中断,并且可以在寄存器ESTATUS中读取。
蓝色和红色线是编码器旋转且禁用WRAPE时的CVAL值
蓝色和红色线是编码器旋转并启用WRAPE时的CVAL值
编码器按钮
I2C Encoder V2还支持带按钮的旋转编码器。 按下按钮时,在上升沿和下降沿产生中断。
以这种方式,可以检查按下或释放按钮的时间。通过在寄存器DPPERIOD中设置窗口时间,还可以读取快速双按。
当在DPPERIOD窗口内进行双重推动时,会产生中断。如果DPPERIOD为0,则禁用双推功能。
所有上述中断均可在寄存器ESTATUS中读取,也可通过寄存器INTCONFIG禁用。
淡入功能
I2C编码器V2具有自动衰落功能。 可以为旋转编码器上集成的RGB LED或GP引脚的PWM输出启用此功能。
有两个寄存器:
FADERGB:用于设置旋转编码器的RGB LED
FADEGP:用于设置GP引脚
您在这些寄存器中写入的值是衰落斜坡的步进速度,以毫秒为单位。 如果值为0,则禁用淡入淡出功能。 这意味着当写入PWM的新值时,它会立即更新为输出。
当写入PWM值时,开始衰落过程。 根据您设置的PWM值完成衰落过程。 当内部衰减PWM值与PWM值相同时(意味着当衰落完成时),将产生中断。
原理:
图片新闻
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.5立即观看>> 松下新能源中国布局:锂一次电池新品介绍
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论