arm-none-eabi-gcc 的printf 输出用到了_write函数,因此我们只需要在我们的工程中重新定义及实现该函数,
usart.h 中添加声明
int _write(int fd, char *ptr, int len);
usart.h中添加实现
int _write(int fd, char *ptr, int len)
{
int i = 0;
if (fd > 2)
{
return -1;
}
while (*ptr && (i < len))
{
UartSendData( *ptr);
if (*ptr == ‘\n’)
{
UartSendData( ‘\r’);
}
i++;
ptr++;
}
return i;
}
UartSendData( ‘\r’); 为我自定义的串口输出实现,请根据自已的实际修改。
然后在需要输出的地方用 printf(“test \n”)
注意最后的’\n’ 必需要加