
编码器一般都有AB
两相,正转和反转时两相相位不同,正转时A超前B,反转时B超前A。写程序判断也行,不过我有个独门绝技,哈哈,找一个D触发器,AB两相一个做clk,一个做data,看输出,正反转时输出电平是不一样的。你的是电机反转反向计数,在向下计数模式中,计数器从自动加载值(TIMx_ARR寄存器的值)开始向下计数到0,然后再从自动加载值重新开始计数。初值为0,电机反转将产生向下溢出中断,所以会一直不断的进入中断。屏蔽中断,计数器也不会出现你说的情况,因为每次溢出时,是从自动加载值重新计数的。可以include stdio.h头文件,然后用sprint
函数格式化输出,,, 比如你要打印TestValue=10的值,可以如下: #include “stdio.h” void LCD_Show(void) { char tmp[5]sprintf(tmp,"%d",TestValue)//在此调用打印tmp数组的LCD底层显示函数即可
评论列表(0条)