# 前言 在前面已经学习了LED、BEEP以及按键的操作,本篇博客将继续和大家学习关于串口通信的配置。
通过本篇的学习,会进一步认识到CubeMX配置的简单化。
一、串口通信
串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。
现在基本上所有的 MCU 都会带有串口,STM32 自然也不例外。
二、串口通信实验
1.引脚配置
1、在功能选择区搜索USART1
2、模式选择Asynchronous
3、功能配置区点击NVIC Settings,勾选使能串口中断。
2.时钟配置
RCC时钟配置如前文一样(此处一般情况是不变的)。
【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)
3.生成代码
由于串口通信的函数使用有些不方便,为了使用方便,我们重新定义了一些函数,使得可以类比C语言,用scanf作为输入,printf作为输出。
1、打开生成的代码,点击文件,copy以下代码
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
int fgetc(FILE *f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
return ch;
}
2、在对应.h文件添加这个头文件
#include <stdio.h>
3、一切准备就绪,让我们根据原子的实验写HAL库的main函数吧(由于我们更改了函数,所以操作起来比库函数简单很多)
char t;
scanf("%c",&t);
HAL_Delay(1000);
printf("您发送的信息是 %c\n",t);
总结
至此,串口的操作是不是都掌握了呢。串口作为一个通信接口,在调试代码的时候有意想不到的便利哟。-------操作是不是也很简单呢