ercircle 发表于 2024-12-11 20:51:45

Ai8051U TFPU库目前不支持asin函数?


调试了一天了发现卡死在asin。
手册里也没有:

论坛搜到这个帖子
STC32F12K54硬件三角函数程序死机 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区

想问下这个在Ai8051U上还没解决吗,有没有可能LIB不是最新版?

另外GPT上搜到个代替asin的函数,不会卡死,但是不确定有没有损失~:


#define TERMS 20 // 定义泰勒级数的项数

double factorial(int n) {
    double result = 1.0;
        int i;
    for (i = 2; i <= n; ++i)
      result *= i;
    return result;
}

double power(double base, int exp) {
    double result = 1.0;
        int i ;
    for (i = 0; i < exp; ++i)
      result *= base;
    return result;
}

double asin_taylor(double x) {
double sum = 0.0;
    double term = x;
        int n ;
                if (x < -1.0 || x > 1.0) {
      //printf("错误:输入值必须在 -1 和 1 之间。\n");
      return 0.0;
    }
    for (n = 1; n <= TERMS; ++n) {
      sum += term;
      term *= (2 * n - 1) / (2 * n) * (power(x, 2) / (2 * n + 1));
    }

    return sum;
}

页: [1]
查看完整版本: Ai8051U TFPU库目前不支持asin函数?