【RISC-V 先楫半导体HPM5E00 MCU开发板试用体验】ABZ编码器
官方教程:((https://www.bilibili.com/video/BV12z421o7WT/?p=45&share_source=copy_web&vd_source=869a34d39352bf3265c3c15add7fb280))
!(//m.qjumbo.com/forum/data/attachment/forum/202508/17/223046iugjkkn7jbjjng8k.png)
硬件接口:
!(//m.qjumbo.com/forum/data/attachment/forum/202508/17/222843yxf11gzc4ad1io33.png)
!(//m.qjumbo.com/forum/data/attachment/forum/202508/17/222918fmoqvh3zifmfh7io.png)
初始化代码:
```
void vInitQeiv2( void )
{
HPM_IOC->PAD.FUNC_CTL = IOC_PC07_FUNC_CTL_QEI0_A;
HPM_IOC->PAD.FUNC_CTL = IOC_PC06_FUNC_CTL_QEI0_B;
HPM_IOC->PAD.FUNC_CTL = IOC_PC05_FUNC_CTL_QEI0_Z;
qeiv2_mode_config_t mode_config = {0};
qeiv2_phcnt_cmp_match_config_t phcnt_cmp_config = {0};
/*mode config */
mode_config.work_mode = qeiv2_work_mode_abz;
mode_config.spd_tmr_content_sel = qeiv2_spd_tmr_as_spd_tm;
mode_config.z_count_inc_mode = qeiv2_z_count_inc_on_phase_count_max;
mode_config.phcnt_max = 65536U;
mode_config.z_cali_enable = false;
mode_config.z_cali_ignore_ab = false;
mode_config.phcnt_idx = 0;
qeiv2_config_mode( HPM_QEI0, &mode_config );
qeiv2_set_z_phase( HPM_QEI0, 0 ); /* setting z phase init value */
qeiv2_set_phase_cnt( HPM_QEI0, 0 ); /* setting phase cnt init value */
}
```
读取位置信息:
```
enc_value = qeiv2_get_postion( HPM_QEI0 );
```
打印位置信息:
!(//m.qjumbo.com/forum/data/attachment/forum/202508/17/231544pd1rzwfgwpsahdi5.png)
页:
[1]