关于STM32编码器接口模式

2019-07-14 21:57发布

这个编码器模式可以检测出电机旋转方向,比如我下面这段程序,首先对CNT计数器清零,10ms检测一下CNT计数器,来判断接收到的编码盘的脉冲数,那么在向下计数的时候,因为一开始CNT计数器被清零,那么CNT就为-1,-2,,,关键计数器不能为赋值啊!但是下面的程序却能返回赋值,说是补码什么的,不太理解求解释!
//读计数个数
int tiM2_Encoder_Read(void)
{
    TIM2_Encoder_Write(0);        //计数器清0
        delay_ms(10);          //检测时间,可调节
    return (int)((s16)(TIM2->CNT));           //数据类型转换
                             //记录边沿变化次数(几个栅格被记录4次)
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。