printf()函数的重映射:
在配置的target选项中选择use microlib,然后在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()重映射函数。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』