QUAD_DEC开发使用指南
迁移公告
本文档中心已迁移至
新域名(https://document.nationalchip.com/)
,当前文档中心维护有效期至 2025年6月30日。
请更新您的书签或外部链接,感谢您的支持!
QUAD_DEC开发使用指南*
第一章 功能特性*
适用于增量型旋转编码器等输出两个正交相位差为 90 度信号的设备,通过相位差可获得方向信息。最多支持 3 个通道。
主要特性
- 可独立工作的三轴正交解码
- 有效相位和无效相位分别采用不同计数器
- 可编程采样率
- 可编程的消抖滤波器
正向:
反向:
第二章 使用示例*
可以参考 appsi_mouse 里面有鼠标滚轮使用qdec的例子
具体使用见 appsi_mousepp_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;
}