This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320F28069:sqrt ()函数不工作

Guru**** 2193910 points
Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/651766/compiler-tms320f28069-sqrt-function-not-working

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE

工具/软件:TI C/C++编译器

大家好、

我尝试使用 sqrt ()函数、但它不起作用、我不知道我做了什么错误。

我包含了类似这样的数学头文件: (是的、我也在使用 IQ 数学和 CLA 数学)
#include "math.h"
#include "IQmath/IQmathLib.h"
#include "CLAmath/CLA_typedefs.h"

以下是几个 def:
#define MATH_TYPE   FLOAT_MATH
#define GLOBAL_Q   30

我正在从同一个库中成功使用 sin ()和 cos ()。  为了演示、我将 sqrt ()和 sin ()函数一个接一个地放置。

下面是一些代码:

函数"sqrt (36.0);"返回值"36.0"、此时应返回"6.0"。  我在这里放置的任何值都只是传递。

但是,函数 sin ((W0)/(2*q);"返回正确的值。

我没有收到任何错误或警告。

我是否必须手动加载某些表?

我正在运行:

  1. CCS v7.3.0.00019
  2. Eclipse C/C++开发工具9.0.0.2016062011
  3. C2000服务支持4.2.1.0

谢谢、
Robin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Robin:

    math.h 中的其他平方根函数是否起作用、例如 sqrtf (float x)或 sqrtl (long double x)? 我尝试在 C2000ware 示例中复制您的问题、但该功能正常。 像您一样包含 math.h 应该就足够了。

    也许可以在不包含 IQMath 和 CLAMath 的情况下尝试此操作、看看它们是否以某种方式产生干扰。 此外、请检查项目属性中的"处理器选项"和"优化"选项。 我的工作项目具有以下内容:

    最棒的

    Kevin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Robin:

    我在几周内没有收到回复、并假设您能够解决您的问题。 如果情况并非如此,请拒绝此解决方案或回复此主题。 如果此主题被锁定、请制作一个描述问题当前状态的新主题。

    最棒的
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    很抱歉耽误你的时间。

    这个项目已经搁置了、所以我没有再做任何其他的事情了。  这将需要一段时间才能再次看到一天的光、因此我现在就放弃这个问题了。

    感谢你的帮助。