QUAD_DEC开发使用指南
QUAD_DEC开发使用指南*
第一章 功能特性*
适用于增量型旋转编码器等输出两个正交相位差为 90 度信号的设备,通过相位差可获得方向信息。最多支持 3 个通道。
主要特性
- 可独立工作的三轴正交解码
- 有效相位和无效相位分别采用不同计数器
- 可编程采样率
- 可编程的消抖滤波器
正向:
反向:
第二章 使用示例*
可以参考 apps\ai_mouse 里面有鼠标滚轮使用qdec的例子
具体使用见 apps\ai_mouse\app_sensor\drv_qdec.c
支持中断获取方式和轮询获取方式
中断获取方式:
// rotary_count大于0代表正向旋转,小于0代表反向旋转
static int _drv_qdec_cb(int rotary_count, GX_HAL_QDEC_CHANNEL_T ch, void *pdata)
{
drv_qdec_t *device = (drv_qdec_t *)pdata;
if (device && device->decoder_cb)
{
return device->decoder_cb(rotary_count * device->multi);
}
return 0;
}
int drv_qdec_init(drv_qdec_t *device)
{
assert(device);
gx_quad_dec_init(QDEC_CH_X_EN, _drv_qdec_cb, device);
return CHIP_OS_OK;
}