【STM32F4】HAL库 CubeMX(三)--------串口实验

文章目录

  • 一、串口通信
  • 二、串口通信实验
    • 1.引脚配置
    • 2.时钟配置
    • 3.生成代码
  • 总结


# 前言 在前面已经学习了LED、BEEP以及按键的操作,本篇博客将继续和大家学习关于串口通信的配置。

通过本篇的学习,会进一步认识到CubeMX配置的简单化。


一、串口通信

串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。
现在基本上所有的 MCU 都会带有串口,STM32 自然也不例外。

二、串口通信实验

1.引脚配置

1、在功能选择区搜索USART1
【STM32F4】HAL库 CubeMX(三)--------串口实验_第1张图片
2、模式选择Asynchronous【STM32F4】HAL库 CubeMX(三)--------串口实验_第2张图片
3、功能配置区点击NVIC Settings,勾选使能串口中断。
【STM32F4】HAL库 CubeMX(三)--------串口实验_第3张图片

2.时钟配置

RCC时钟配置如前文一样(此处一般情况是不变的)。
【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)

3.生成代码

由于串口通信的函数使用有些不方便,为了使用方便,我们重新定义了一些函数,使得可以类比C语言,用scanf作为输入,printf作为输出。
1、打开生成的代码,点击文件,copy以下代码
【STM32F4】HAL库 CubeMX(三)--------串口实验_第4张图片

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文件添加这个头文件
【STM32F4】HAL库 CubeMX(三)--------串口实验_第5张图片

#include 

3、一切准备就绪,让我们根据原子的实验写HAL库的main函数吧(由于我们更改了函数,所以操作起来比库函数简单很多)
【STM32F4】HAL库 CubeMX(三)--------串口实验_第6张图片

char t;
	scanf("%c",&t);
	HAL_Delay(1000);
	printf(您发送的信息是 %c\n",t);

总结

至此,串口的操作是不是都掌握了呢。串口作为一个通信接口,在调试代码的时候有意想不到的便利哟。-------操作是不是也很简单呢
【STM32F4】HAL库 CubeMX(三)--------串口实验_第7张图片

你可能感兴趣的:(stm32,单片机)