本文主要是介绍【STM32HAL库】printf函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Printf
注意:避免使用半主机模式
简单说就是避免通过仿真器实现开发板在电脑上的输入输出
不论是微库法还是代码发,都需要重定向fputc函数
int fputc(int ch, FILE *f)
{ while((USART1->SR&0X40)==0);//循环发送,直到发送完毕 USART1->DR = (u8) ch; return ch;
}
方法1:微库法
直接使用移植好的微库,即勾选
方法2:1个预处理,2个定义,3个函数
//
//加入以下代码,支持printf函数,而不需要选择use MicroLIB
#if 1
#pragma import(__use_no_semihosting)
//标准库需要的支持函数
struct __FILE
{ int handle; }; FILE __stdout;
//定义_sys_exit()以避免使用半主机模式
void _sys_exit(int x)
{ x = x;
}
//重定义fputc函数
int fputc(int ch, FILE *f)
{ while((USART1->SR&0X40)==0);//循环发送,直到发送完毕 USART1->DR = (u8) ch; return ch;
}
#endif
这篇关于【STM32HAL库】printf函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!