发脉冲两种意图
1)速度操控
2)方位操控
速度操控意图和模拟量相同,没有什么需求重视的当地
发送脉冲办法为PWM,速率安稳并且资源占用少
stm32方位操控需求取得发送的脉冲数,有下面4种手法
1)每发送一个脉冲,做一次中止计数
2)依据发送的频率×发送的时刻,取得脉冲数量,关于变速的脉冲,可以累计积分的办法来取得总脉冲
3)一个守时器作为主发送脉冲,别的一个守时器作为从,对发送的脉冲计数
4)运用DMA办法,例如共发送1000个脉冲,那么界说u16 per[1001],每发送一个脉冲,dma会从数组中更新下一个占空比字,数组最终一个字为0,表明停发脉冲
上面4种办法的用处和特色
1)关于低速率脉冲比较好,可以说低速发脉冲的首选,例如10Khz以下的,不然中止占用太多的cpu,这种办法要注意将中止优先级进步,不然会丢计数,
2)用作守时的计时准确高,可以答应有脉冲计数丢掉的状况
3)主从办法,需额定的守时器来计数,例如tim1发脉冲 tim2计数,最便利的办法,不管高速低速即可,一起占用cpu最低,仅仅要占用多一个守时器
4)DMA办法也算是一个很确认的办法,不会丢掉脉冲,可是高速的时分,会较多的占用内部总线一起会运用一个剩余的DMA操控器,并且有个缺陷,便是运用起来比较复杂,没有到达KISS准则
个人引荐办法,低速时中止办法,假如不知高速仍是低速,则运用主从办法。
详细的办法需求依据资源和需求来确认。
stm32守时器算是比较复杂的器材,并且用户要较多的介入底层,期望将来st公司可以可以简化器材的运用。