通过本篇的学习,会进一步认识到CubeMX配置的简单化。
串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。 现在基本上所有的 MCU 都会带有串口,STM32 自然也不例外。
1、在功能选择区搜索USART1 2、模式选择Asynchronous 3、功能配置区点击NVIC Settings,勾选使能串口中断。
RCC时钟配置如前文一样(此处一般情况是不变的)。 【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)
由于串口通信的函数使用有些不方便,为了使用方便,我们重新定义了一些函数,使得可以类比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);至此,串口的操作是不是都掌握了呢。串口作为一个通信接口,在调试代码的时候有意想不到的便利哟。-------操作是不是也很简单呢