你好我好大家好! 发表于 2015-6-8 19:22:17

变量值显示不正确,是不是变量类型定义错了!!!!!

本帖最后由 你好我好大家好! 于 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也在变化,但是几乎为零,想请教下做过这方面的大神们是不是变量定义的类型不正确还是别的什么原因啊?谢了!


creep 发表于 2015-6-8 20:54:17

本帖最后由 creep 于 2015-6-8 21:47 编辑

在变化肯定是更新了,如果不放心可以打印到串口看下实时变化。
你这Rotor_Speed会不会越界呢,为何不修改为:
(2* pi * CKTIM2 )) /)(1*1*Capture_Value));

其中的变量的定义为:u32 pi=31415926;
                                 #define CKTIM2 (48)
                                 u32 Capture_Value;
                                 u32 Rotor_Speed;

stary666 发表于 2015-6-9 09:41:34

不明,帮顶

丁南 发表于 2015-7-23 13:45:18

绑顶一下子
页: [1]
查看完整版本: 变量值显示不正确,是不是变量类型定义错了!!!!!