- 打卡等级:偶尔看看II
- 打卡总天数:27
- 最近打卡:2025-10-22 09:18:06
已绑定手机
注册会员
- 积分
- 128
|
王工,STC32G12K128,如何实现正弦、余弦等浮点运算阿?
我在尝试跟着DENGfoc开源代码,复刻效果。但目前浮点运算结果很奇怪,没得到正常的结果,然后目前单独Debug测试,发觉出不了正确的结果。但想到你们既然能实现FOC控制,那理应STC32G12K128应该是可以实现浮点运算。能给个实现浮点运算的示例代码?或者给个实现步骤,需要引用哪些?定义什么?设置什么?才能使用浮点的加减乘除、正弦余弦等。
目前我根据手册35.8 示例代码,debug单步运算,没看到正确值【有可能是我设置不对,但没找到原因】。
#include "intrins.h"
#include <math.h> // 引入数学库
float cf1 = 3.9f;
float cf2 = 5.1f;
float cf3 = 0;
void test() {
// 基本算术运算
cf3 = cf1 * cf2;
cf3 = cf1 * 0.0f;
cf3 = (cf1 / cf2) - cf3;
cf3 = (cf1 * cf2) + cf3;
// 使用数学函数库的运算
// 注意:sin, cos, tan等函数的参数是弧度
cf3 = (cf1 / cf2) * sin(cf3);
cf3 = (cf1 / cf2) * cos(cf3);
cf3 = (cf1 / cf2) * tan(cf3);
cf3 = (cf1 / cf2) * sqrt(cf3);
cf3 = (cf1 / cf2) * atan(cf3);
}
|
|