主题中讨论的其他器件:C2000WARE
工具/软件:Code Composer Studio
我一直在尝试实现对 CLAatan2()的函数调用,并且很难弄清为什么它只返回值0.0。 不过、CLAmath 文件夹中的示例 atan2pu 似乎可以正常工作。
CLA 任务被成功触发并执行包含在 Cla1Task1中断中的代码。 我最初以为 CLAmath 库有问题、但正弦和余弦等其他函数的行为符合预期。 我的下一个想法是 ATAN2有问题、特别是因为它使用了 ROM 中加载的表(我的 MCU 是版本 C、TRM 会让我相信其中包含此功能)。 但是,函数 CLAexp()也使用表并成功执行。 函数 CLAexp2()并不总是返回1.0,这会导致我回到表存在问题的想法(因为 exp 的扩展在表中的任何内容之前都有1)。
当我打开一个内存查看器并查看 CLAatan2Table 时、它充满了零、但当我运行示例或如果我使用函数 CLAasin ()时也是如此、这两个函数都产生了正确的值。
我正在使用 C2000Ware 中的库、因此我认为它是最新的(v4.02.00.00)。 是否有人知道反正切函数是否有容易跳闸的东西、或者我更有可能只是在中出现错误、例如链接器设置会导致某些 trig 函数的行为与其他函数不同?
此外、在查看相关表的存储器查看器时、我是否应该期待非零值?
感谢您的任何见解。