IAR串口重定向
1、需要添加__write函数
IAR9.x之后用__write,之前用fputc函数。
int __write(int fd, char *ptr, int len)
{
LL_USART_TransmitData8(USART3, *(ptr++)); // 发送数据
while(!LL_USART_IsActiveFlag_TC(USART3)); // 直到发送完成
return len;
}
根据具体使用的串口来修改,有报错的话应该是对应的头文件没加。
2、IAR对应的也要配置
这里要选AUTO,我工程一开始默认选的FULL,导致一调用printf函数就hardfault,改成AUTO就正常