10
AVR的有效逆(1 / x)
我试图找到一种有效的方法来计算AVR上的逆(或近似)。 我正在尝试计算步进电机的脉冲周期,以便可以线性地改变速度。周期与速度(p = K/v)的倒数成正比,但我想不出一种快速计算此速度的好方法。 我的公式是 p = 202/v + 298; // p in us; v varies from 1->100 在Arduino上测试时,似乎完全忽略了该部分,而将其p固定为固定298(尽管在avr-gcc中可能会有所不同)。我还尝试过对v循环求和,直到超过202,然后对循环计数,但这非常慢。 我可以生成一个查找表并将其存储在闪存中,但是我想知道是否还有另一种方法。 编辑:也许标题应该是“有效划分” ... 更新:正如pingswept指出的那样,我将周期映射到速度的公式不正确。但是主要的问题是除法运算。 编辑2:在进一步调查中,除法在arduino上起作用,问题是由于上面的公式不正确以及其他地方的int溢出。