Genius 发表于 2018-5-7 09:42:03

ESP8266无法使用float ,double

无法使用float ,double(补充说明,在定义一两个没问题,但用函数传递double,或float时候会报错)答:乐鑫的SDK里面是没法使用double和float型来做运算的,建议使用整形数据。

海底沙 发表于 2018-5-8 09:03:04

ESP8266无法使用float ,double解决方法,我找了很久才在一篇问题解答中找到答案:
1、先到乐鑫网下载原版的固件;
2、把lib文件夹中的libcirom.a、libmirom.a复制粘贴到你的lib文件夹;
3、修改\APP\Makefile,加入红字2行
LINKFLAGS_eagle.app.v6 = \
    -L../lib      \
    -nostdlib    \
    -T$(LD_FILE)   \
    -Wl,--no-check-sections    \
    -u call_user_start    \
    -Wl,-static                        \
    -Wl,--start-group                  \
    -lc                  \
    -lmirom                        \
    -lcirom                        \
    -lgcc                  \
    -lhal                  \
    -lphy    \
    -lpp    \
    -lnet80211    \
    -llwip    \
    -lwpa    \
    -lmain    \
    -ljson    \
    -lupgrade\
    -lssl    \
    -lpwm    \
    -lcrypto \
    -lsmartconfig \
    -lairkiss \
    -lgagent \
    $(DEP_LIBS_eagle.app.v6)                  \
    -Wl,--end-group

4、然后加入 #include <math.h> 就可以使用了

Genius 发表于 2018-5-8 10:21:56

海底沙 发表于 2018-5-8 09:03
ESP8266无法使用float ,double解决方法,我找了很久才在一篇问题解答中找到答案:
1、先到乐鑫网下载原版 ...

感谢分享:lol

猫猫虫 发表于 2018-11-2 17:35:35

海底沙 发表于 2018-5-8 09:03
ESP8266无法使用float ,double解决方法,我找了很久才在一篇问题解答中找到答案:
1、先到乐鑫网下载原版 ...

大佬,你这两个文件从哪里来的?官方固件是哪个版本?我没有找到这两个文件···能不能加个好友(QQ2201427078)或者留下您的联系方式~

猫猫虫 发表于 2018-11-2 17:39:37

海底沙 发表于 2018-5-8 09:03
ESP8266无法使用float ,double解决方法,我找了很久才在一篇问题解答中找到答案:
1、先到乐鑫网下载原版 ...

我找到这两个文件了,在RTOS的版本中,但是RTOS版本能适合OS版本吗?我试一下先~

猫猫虫 发表于 2018-11-3 19:20:41

试过了,貌似并不可行,至少os_printf这个函数用来输出浮点数不可行,而且安信可官方技术人员告诉我os_printf不支持浮点数输出···
页: [1]
查看完整版本: ESP8266无法使用float ,double