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:使用三角函数问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1351952/tms320f28069-use-trigonometric-functions-problem

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

您好!

我目前正在从事的项目使用的是 f28069。

我将使用虚拟信号来验证生成的 PWM。

不过、当我使用正弦函数时、它生成的信号会偏离正弦范围。

下面是我测试的函数。

TEST = sin ((2 * pi * 416)/ 1666);

理论上、它的值应该为0.999998、但我获得的实际值如下图所示。

我想询问我的设置中是否有任何错误?

此致。

狄龙

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

    您好,Dillon:

    您能否确认在单步执行该函数时调用的是哪个正弦函数? 它是来自 FPUfastRTS 库还是编译器内在函数? 您能否验证加载到函数的寄存器的值是否正常运行? 另请确保在应用程序的"工程属性"中选择了正确的 FPU 选项。

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

    您好!

    感谢您的答复。

    当我逐步执行检查程序时,我发现一个问题出现在"sin()"函数,其中出现了以下错误消息:

    "在/home/ubnuser/ti/repos/c2000ware/libraries/math/temp/source/fpu32/sin_f32.asm 中找不到源文件"

    找到文件或编辑源查找路径以包括其位置。"

    您能建议如何更改路径、或者我是否需要向我的项目中添加"sin_f32.asm"等文件吗?

    目前、我正在针对 fpu32和-库"ProjName/lib/rts2800_fpu32_fast_complement.lib"进行配置以供使用。

    此致。

    狄龙

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

    您好,Dillon:

    当我逐步执行检查程序时,我发现一个问题出现在"sin()"函数,其中出现了以下错误消息:

    "在/home/ubnuser/ti/repos/c2000ware/libraries/math/temp/source/fpu32/sin_f32.asm 中找不到源文件"

    [/报价]

    之所以出现此错误消息、是因为该函数的源文件在工程中未激活、这不表示程序有任何功能问题、您应该仍然能够在"Disassembly"窗口中逐步调试汇编代码。 遗憾的是、此时、这将是在应用中逐步调试代码的唯一方法。

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

    您好、Omer:

    感谢您的答复。

    还有其他方法可以实现我的目标吗?

    或许我应该创建正弦表?

    此致。

    狄龙

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

    您好,Dillon:

    还有其他方法可以实现我的目标吗?

    或许我应该创建正弦表?

    [/报价]

    根据您上一次关于无法查看源文件的回答、我不知道您遇到的实际问题的任何信息(即、哪个寄存器接收到设置为其不正确的值、调用了错误的函数、如果未正确检查条件、等等)。  您需要能够单步执行代码并找出问题所在。 使用正弦表的解决方案可能有用、也可能不有用、但我不知道您看到能够确定这一点的是什么问题。