STM32Cube串口通信(上)串口发送
工作环境:
STM32CubeMXv6
Keil5
串口调试助手
单单的串口发送相对而言还是比较简单,因为不用打开配置串口中断相关的配置。
首先打开左侧的下拉框Connectivity,点击USART1选项;

在打开的选单中点击Mode的下拉框,选中Asynchronous;

在下方的配置框中选中Parameter Settings进行配置:
Baud Rate:波特率
Word Length:字长
Parity: 奇偶校验
Stop Bits:停止位
Data Directon:数据方向
Over Sampling:超采样
Auto Baudrate: 自动波特率
TX Pin Active Level Inversion:输出引脚有效电平反转
RX Pin Active Level Inversion:输入引脚有效电平反转
Data Inversion:数据反转
TX and RX Pin Swapping:输出和输入引脚交换
DMA on RX Error:DMA接收错误
MSP First:MSP优先

设置完成后
点击Project Manager页面,输入工程名和工程位置,选择工具链和IDE为MDK-ARM,版本为5.27;

打开左侧Code Generater菜单勾选Generate peripheral initialization as a pair of'.c/.h'file per peripheral;

最后点击右上角的GENERATE CODE按钮后生成代码。
生成代码后打开工程文件夹,用Keil5打开工程。

编译后运行
此时还是无法进行串口通信的
打开usart.c,在#include "usart.h"下添加以下代码
好了,现在可以使用
直接在串口1中输出了
如果不想改变stm32cube生成的函数,那么可以不用添加这段代码,直接使用
函数中的三个形参分别是串口名,串口数组名,数组长度,超时时间(因为是阻塞式的)。
参考资料:
STM32F7开发指南-HAL库版本_V1.1
HAL库教程5:串口数据发送 https://blog.csdn.net/geek_monkey/article/details/89164939