32G使用浮点库运算出错,不用浮点库结果是对的。
计算电压有效值,不使用STC32_FPMU_LARGE_V1.0,计算结果是对的,使用后浮点库后结果飘忽不定。设置了REMOVEUNUSED。
u16 CalculateRMS(u16 *Adc_datas, u16 Sum_len)
{
double Sum_adcdata = 0;
u16 Sum_Return = 0;
u16 Sum_i=0;
for (Sum_i = 0; Sum_i < Sum_len; Sum_i++)
{
Sum_adcdata += (Adc_datas * Adc_datas);
}
Sum_Return = sqrt(Sum_adcdata / Sum_len);
return Sum_Return;
}
注意两个问题,有没有打开keil内部的double双精度浮点支持选项?如果打开了请关上,硬件加速仅支持float。
还有就是这个库是否是最新的版本?可以去论坛首页的软件资源部分下载最新版本的库试试
如果还不行,麻烦上传一下能复现问题的最小工程,我们来测试一下,看看问题在哪里 STC32G12K128, STC32G8K64,无硬件 浮点计算器;
AI8051U有硬件浮点和硬件三角函数计算器
都是成本啊
页:
[1]