在正常操作期间可以即时写入这些寄存器。
通过将寄存器设置为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值相同时(意味着当衰落完成时),将产生中断。
原理: