关于STM32的printf()函数重映射
扫描二维码
随时随地手机看文章
printf()函数的重映射:
在配置的target选项中选择usemicrolib,然后在main()函数之前添加函数重映射,如下:
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (u8) ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)== RESET);
return ch;
}
在main()函数中包含stdio.h头文件,在其他自己创建的函数中若使用printf()函数也应该包含改头文件,这样一来,prinft()函数重映射的使用便不会有警告以及错误。
若不是用微库,则应该在重映射printf()之前添加一段代码,如下:
#pragma import(__use_no_semihosting)
_sys_exit(int x)
{
x = x;
}
struct __FILE
{
int handle;
};
FILE __stdout;
完成后即可使用printf()重映射函数。