需要加载 头文件 math.h 库文件使用 rts2800_fpu32.lib
一个32位乘法
cpu运算需要2079个CPU周期 2079*6.67ns=13866.93ns=13.86us
FPU运算需要75个CPU周期 75*6.67ns=500.25ns=0.5us
FPU运算一个浮点的sin函数 73*6.67=486.91ns=0.486us (sin函数无法输出180°到360°的负值)
FPU运算一个浮点的sin函数 71*6.67=473.57ns=0.473us
71这个数字是有浮动的。
相差两位数啊!
- value=sin(1.57)*2+cos(0.5)*2;//147 cpu cycles
- ESTOP0;
- value=cos(0.5);// 70 cpu cycles
- ESTOP0;//software breakpoint
- value=2*value+3;// 5 cpu cycles
- ESTOP0;
- value=value*0.5;// 3 cpu cycles
- ESTOP0;
- value=value/2;//155 cpu cycles===1us
- ESTOP0;
复制代码
由此可以看出来,在计算除法的时候尽量把除法化为乘法计算,乘法比除法速度快的太多了。 |