【发布时间】:2015-04-04 17:53:46
【问题描述】:
我想通过 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
我错在哪里?
【问题讨论】:
-
你有两个正确答案。请为其中一个投票并标记此问题已解决。