当我们还没学到单片机上的显示屏又想知道我们获取到的内容,如温度,声音等时,我们就可以用串口输出。
找到对应开发文档中的对应管脚,如下图
配置串口
CTRL + s 自动生成代码
在usart.h中添加stdio.h头文件
添加在usart.c中添加代码,使printf函数重定向
#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,0xFFFF);
return ch;
}
在main函数中使用printf函数
此时我们烧录到单片机上,是看不出来结果的,我们需要下载一个串口调试助手
下载好之后运行如下,并把DTR取消
当烧录完成后,使单片机与烧录软件断开状态,打开串口调试助手,并打开串口,注意,波特率和代码中的应当一致,运行单片机程序。就会出现以下内容
值得注意的是,浮点类型的数据不能直接输出,需要再设置一个东西,且若是printf函数中没有\n作为结束标志,它将一直存储直到溢出才一次性打印出来,相关知识可以去了解
设置如下: