本帖最后由 你好我好大家好! 于 2015-6-8 19:23 编辑 做电机控制的。现在计算速度的时候用的公式: Rotor_Speed=(u32)((unsigned long long)(60* pi * CKTIM2 )) /( (unsigned long long)(3*10000000*Capture_Value)); 其中的变量的定义为:u32 pi=31415926; #define CKTIM2 ((u32)48000000uL) u32 Capture_Value; u32 Rotor_Speed; 现在的问题是电机转速明明已经很高了,但是在keil的变量观察窗口中,观察的变量Rotor_Speed也在变化,但是几乎为零,想请教下做过这方面的大神们是不是变量定义的类型不正确还是别的什么原因啊?谢了! |
在变化肯定是更新了,如果不放心可以打印到串口看下实时变化。
你这Rotor_Speed会不会越界呢,为何不修改为:
(2* pi * CKTIM2 )) /)(1*1*Capture_Value));
其中的变量的定义为:u32 pi=31415926;
#define CKTIM2 (48)
u32 Capture_Value;
u32 Rotor_Speed;