STM32单片机串口调试输出

STM32单片机串口调试输出_第1张图片

当我们还没学到单片机上的显示屏又想知道我们获取到的内容,如温度,声音等时,我们就可以用串口输出。

找到对应开发文档中的对应管脚,如下图

STM32单片机串口调试输出_第2张图片

配置串口

STM32单片机串口调试输出_第3张图片

CTRL + s 自动生成代码

STM32单片机串口调试输出_第4张图片

在usart.h中添加stdio.h头文件

STM32单片机串口调试输出_第5张图片

添加在usart.c中添加代码,使printf函数重定向

STM32单片机串口调试输出_第6张图片

#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函数

STM32单片机串口调试输出_第7张图片

此时我们烧录到单片机上,是看不出来结果的,我们需要下载一个串口调试助手​​​​​​

下载好之后运行如下,并把DTR取消

STM32单片机串口调试输出_第8张图片

当烧录完成后,使单片机与烧录软件断开状态,打开串口调试助手,并打开串口,注意,波特率和代码中的应当一致,运行单片机程序。就会出现以下内容

STM32单片机串口调试输出_第9张图片

STM32单片机串口调试输出_第10张图片

值得注意的是,浮点类型的数据不能直接输出,需要再设置一个东西,且若是printf函数中没有\n作为结束标志,它将一直存储直到溢出才一次性打印出来,相关知识可以去了解

设置如下:

STM32单片机串口调试输出_第11张图片

你可能感兴趣的:(STM32单片机学习笔记,单片机,stm32,嵌入式硬件)