提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近学习STM32,跟著EVB一步步学习,在使用UART上想用printf这个指令,搜寻很多文章,都无法成功使用。最后在国外网站找到可用的方法。分享给大家,希望可以节省初学者的时间。
一、使用步骤
1.设定UART
第一步当然是设定IDE 的IOC,根据自己的需求设定UART port。这裡就不再多说,网上很多例子。
2.代码
2.1 在main.c档案中, 插入#include <stdio.h>如图一
图一 插入#include <stdio.h>
2.2 代码如下
此代码须放在main.c的main()之前,UART宣告之后。
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
return ch;
}
用一些例子试试
printf(“Characters: %c %c\n”, ‘a’, 65);
printf(“Decimals: %d %ld\n”, 1977, 650000L);
printf(“Preceding with blanks: %10d\n”, 1977);
总结
以上就是printf的用法,希望对您有用。测试过是可以用的。