用STM32对编码开关实现精确计数
时间:11-13
来源:互联网
点击:
NVIC->ISER[EXTI0_IRQn >> NVIC->ISER[EXTI0_IRQn >> 0x05] |=
(uint32_t)0x01 < (EXTI0_IRQn & (uint8_t)0x1F);
/* EXTI2 config */
SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI2_PA;
EXTI->IMR |= EXTI_IMR_MR2;
EXTI->RTSR |= EXTI_RTSR_TR2;
EXTI->FTSR |= EXTI_FTSR_TR2;
/* Enable the Selected IRQ Channels --------------------------------------*/
NVIC->ISER[EXTI2_TSC_IRQn >> 0x05] |=
(uint32_t)0x01 < (EXTI2_TSC_IRQn & (uint8_t)0x1F);
}
该方案外围电路简单,无需电容滤波,因采样点为脉冲中部,故工作可靠,在编码器的特定位置做上记号用手随意改变方向和速度做测试,最后总能在编码开关回到原位置时归零,缺点是需要IO具有上升/下降沿的双向边沿触发能力,以及使用了中断程序占用了部分资源。
STM32编码开关精确计 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)