ZELVRT 发表于 前天 15:05

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;
}


王昱顺 发表于 昨天 07:48

注意两个问题,有没有打开keil内部的double双精度浮点支持选项?如果打开了请关上,硬件加速仅支持float。
还有就是这个库是否是最新的版本?可以去论坛首页的软件资源部分下载最新版本的库试试
如果还不行,麻烦上传一下能复现问题的最小工程,我们来测试一下,看看问题在哪里

神农鼎 发表于 昨天 09:07

STC32G12K128, STC32G8K64,无硬件 浮点计算器;
AI8051U有硬件浮点和硬件三角函数计算器







都是成本啊
页: [1]
查看完整版本: 32G使用浮点库运算出错,不用浮点库结果是对的。