完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
尝试使用 printf 打印浮点数,例如,
浮点数 d = 1.0; printf("d = %f", d); 但它打印出来: d = 此外,sprintf 不适用于浮点数; 我的假设是编译器中没有启用浮点? 如果是这种情况,我不确定要启用什么标志? 编译器版本: xtensa-lx106-elf-gcc --版本 xtensa-lx106-elf-gcc (crosstool-NG esp-2020r3-49-gd5524c1) 8.4.0 版权所有 (C) 2018 Free Software Foundation, Inc. 这是免费软件;有关复制条件,请参阅源代码。 没有 保证;甚至不是为了适销性或特定用途的适用性。 |
|
相关推荐
1个回答
|
|
在ESP8266_RTOS_SDK中,要打印浮点数,您需要确保在编译时启用了浮点数支持。以下是启用浮点数支持并打印浮点数的步骤:
1. 首先,检查您的编译器是否支持浮点数。从您提供的编译器版本信息来看,您使用的是xtensa-lx106-elf-gcc,这是支持浮点数的。 2. 确保在编译时启用了浮点数支持。在Makefile文件中,找到CFLAGS变量,并添加`-mfpu=hard`标志。例如: ``` CFLAGS = -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -D__ets__ -DICACHE_FLASH -DARDUINO=10803 -DESP8266 -DFLASH_MODE_DOUT -DUSE_OPTIMIZE_PRINTF -Os -Wl,--no-check-sections -Wl,-static -Wl,-Map,$(@D)/$(@F).map -Wl,--gc-sections -mfpcall $(FPCALL) -D_USE_XTENSA_HEAP -D_USE_NEWLIB -DHAVE_CONFIG_H -DLWIP_OPEN_SRC -DUSE_SPIFFS -D斧ESP8266FS -DUSE_SPIFFS -DLWIP_IPV6=0 -DLWIP_IPV4=1 -DLWIP_DNS=1 -DWITH_POSIX -DLWIP_HTTPD_SSI=0 -DLWIP_HTTPD_CGI=0 -DLWIP_HTTPD=1 -DLWIP_TCP=1 -DLWIP_UDP=1 -DLWIP_RAW=1 -DLWIP_NETIF_LOOPBACK=1 -DLWIP_AUTOIP=1 -DLWIP_DHCP=1 -DLWIP_SNTP=1 -DLWIP_IGMP=1 -DLWIP_DNS=1 -DLWIP_SOCKET=1 -DTCP_MSS=536 -D抄送MSS=1460 -DHNO_SYS=1 -DHAVE_SNTP_GET_SYSTEM_TIME_US=0 -DHAVE_LWIP_MEM -DMEMLEAK_DEBUG=0 -DTASK_DEBUG=0 -DSPI_FLASH_SECT_SIZE=4096 -D板载=1 -DCORE_DEBUG_LEVEL=0 -D闪存=1 -DFLASH_5X=0 -DFLASH_EMU=0 -DUSE_OPTIMIZE_PRINTF -DUSE_NEWLIB -DHAVE_CONFIG_H -I$(INCLUDE_DIR) -I$(LWIP_API_INCLUDE) -I$(LWIP_DNS_INCLUDE) -I$(LWIP_HTTPD_INCLUDE) -I$(LWIP_HTTPD_SSI_INCLUDE) -I$(LWIP_HTTPD_CGI_INCLUDE) -I$(LWIP_API_INCLUDE) -I$(LWIP_CORE_INCLUDE) -I$(LWIP_NETIF_INCLUDE) -I$(LWIP_PPPAPI_INCLUDE) -I$(LWIP_SOCKET_INCLUDE) -I$(LWIP_INCLUDE) -I$(ESP8266_INCLUDE) -I$(ESP8266_FS_INCLUDE) -I$(ESP8266_SPIFFS_INCLUDE) -I$(ESP8266_DRIVER_INCLUDE) -I$(ESP8266_RTOS_INCLUDE) -I$(ESP8266_RTOS_PTHREAD_INCLUDE) -I$(ESP8266_RTOS_SDK_INCLUDE) -I$(ESP8266_RTOS_SDK_BOARD_ROM_INCLUDE) -I$(ESP8266_RTOS_SDK_BOARD_INCLUDE) -I$(ESP8266_RTOS_SDK_LWIP_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_TIME_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_REENT_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_SYS_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_UNISTD_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_STDIO_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_EXIT_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_ENVIRON_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_INTERNAL_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_ICONV_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_LOCALE_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_MULTIBYTE_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_WCHAR_INCLUDE) -I$(ESP8266_RTOS_SDK_NEWLIB_MISC_INCLUDE |
|
|
|
只有小组成员才能发言,加入小组>>
486 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
443浏览 5评论
445浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:25 , Processed in 1.077259 second(s), Total 83, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号