打印

关于psoc4调用math.h中函数的问题

[复制链接]
2204|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuweijie|  楼主 | 2013-8-23 13:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
经过本人试验,发现了一些搞不明白的问题,拿出来和大家商讨商讨,帮帮忙。

比如我要调用math.h中的反正切函数atan2(),我在前面加#include <math.h>

  然后能使用 a=atan2(23,23);
  可以正常调用。

  但是如果我定义变量int x ,y;

   然后调用 a=atan2(y,x);

另外:我在psoc3中就不会出现这个问题

系统就报错:undefined reference to `atan2'


  求求哪位大神帮帮忙,我希望调用
  M_A=atan2((double)y,(double)x)*(180/3.14159265)+180;
该怎么办,谢谢
沙发
zjuzxh| | 2013-9-6 15:19 | 只看该作者
我也遇到了这个问题,帮顶一个,求高手解答

使用特权

评论回复
板凳
PSoC小子| | 2013-10-31 17:33 | 只看该作者
对于 PSoC4/PSoC5 LP 的工程, Creator 默认是不加载 math 库的,如果需要调用 math 库里面的函数,需要在 Creator 里面做如下设置:
打开工程, 点击 Project -> Build Settings -> Linker -> General -> Additional Libraries. 在 “ Additional Libraries“ 文本框里面添加 ”m“. 然后确定,保存就可以了。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
liuweijie + 1 谢谢哈,回来看的有点晚,问题解决了。O(∩.
地板
August-creator| | 2014-3-31 18:33 | 只看该作者
您好!我也遇到了这样的问题,我查看了寄存器数据没有出错,但是angle=atan2((double)y,(double)x) * (180 / 3.14159265)+180;计算最后的值错误,希望的到你的帮助,谢谢你啦!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

17

帖子

0

粉丝