keil v5环境下STM32使用printf函数
1、首先需要设置keil
![keil环境设置(如图,红圈中选中)](https://img-blog.csdn.net/20180509170628341?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGltaW5fMDcwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
2、添加头文件
3、在代码中增加两段代码
增加第一段代码:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
增加第二段代码:
PUTCHAR_PROTOTYPE
{
USART_SendData(USART3, (uint8_t)ch);
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET)
{
}
return ch;
}
4、当然,STM32的USART的初始化不能少
经过上面4步,就可用使用printf函数了。
keil v5环境下STM32使用printf函数
1、首先需要设置keil
![keil环境设置(如图,红圈中选中)](https://img-blog.csdn.net/20180509170628341?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGltaW5fMDcwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
2、添加头文件
3、在代码中增加两段代码
增加第一段代码:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
增加第二段代码:
PUTCHAR_PROTOTYPE
{
USART_SendData(USART3, (uint8_t)ch);
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET)
{
}
return ch;
}
4、当然,STM32的USART的初始化不能少
经过上面4步,就可用使用printf函数了。
举报