gpt4 book ai didi

printf - stm32 printf 浮点变量

转载 作者:行者123 更新时间:2023-12-03 17:42:37 30 4
gpt4 key购买 nike

我想通过 usart 从 stm32f405 注销。
在我的 syscall.c 文件中,我实现了通过 usart 打印的功能:

int _write(int file, char *ptr, int len)
{
int todo;
for (todo = 0; todo < len; todo++)
{
usart_send_char( *ptr++ );
}
return len;
}

功能 usart_send_char( *ptr++ );按预期工作。但是当我打电话时:
printf("%s, %d, %3.2f\r\n", "asd", 777, 13.2 );

我得到:
asd, 777, 0.00浮点变量未正确打印。

生成文件:
PROCESSOR = -mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16
CFLAGS += $(PROCESSOR) $(INCLUDES) $(STFLAGS) -Wall -fno-strict-aliasing $(C_PROFILE)
LDFLAGS = $(PROCESSOR) -Wl,-Map=$(PROG).map,--cref,--gc-sections

使用的编译器:
Sourcery CodeBench Lite 2014.05-28

我错在哪里?

最佳答案

我没有为 STM32F4 使用 Sourcery Codebench gcc,但使用了 GCC ARM Embedded toolchain ,默认情况下不启用 printf 中的浮点支持。要启用,请添加 -u _printf_float到您的 LDFLAGS。

关于printf - stm32 printf 浮点变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28334435/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com