目录
0 实验预期效果
1 相关原理图
2 硬件配置
3 软件配置
USART相关知识
STM32CubeMX配置 ?
4 代码编写
函数理解
串口发送
串口接收
代码编写
0 实验预期效果
完成串口数据的接收和发送
1 相关原理图
2 硬件配置
DAPLINK、STM32F407VET6:
TXD —— PA10 注意!!!!一定要看清!!!不要接错!!TXD是接PA10!!!
RXD —— PA9 注意!!!!一定要看清!!!不要接错!!RXD是接PA9!!!
GND —— GND
5V —— 5V
3 软件配置
USART相关知识
USART 简介、功能说明、框图见博客:【STM32】基于STM32F407实现串口通信_Max_Shy的博客-CSDN博客_stm32f407串口通信
①点击USATR1;
②设置MODE为异步通信(Asynchronous) ;
③基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit,无校验位,1位停止位 ,接收和发送都使能;
④GPIO引脚设置 USART1_RX/USART_TX;
4 代码编写
函数理解
HAL库UART函数库介绍见博客:【STM32】基于STM32F407实现串口通信_Max_Shy的博客-CSDN博客_stm32f407串口通信串口通讯知识梳理及在Stm32上的应用(HAL库)_冬瓜~的博客-CSDN博客
串口发送
打开 stm32f4xx_hal_uart.c 文件,可找到函数:
第一个参数是要使用的串口句柄地址,比如要使用U(S)ART1,参数就设置为U(S)ART1的句柄地址&huart1;
第二个参数是要发送的数据缓冲区首地址;
第三个参数是发送的数据长度,这里可以直接用sizeof()函数获取发送缓冲区的长度;
第四个参数是超时时间,单位是ms,如果超过设置的时间,则函数返回HAL_TIMEOUT,如果设置为HAL_MAX_DELAY,处理器就会一直等到数据发送完成再执行下一条语句。
串口接收
打开 stm32f4xx_hal_uart.c 文件,可找到函数:
同HAL_UART_Transmit()函数一样,这个函数也有四个参数:
第一个参数是要使用的串口句柄地址,比如要使用U(S)ART1,参数就设置为U(S)ART1的句柄地址&huart1;
第二个参数是接受数据的缓冲区首地址;
第三个参数是接受的数据长度,这里可以直接用sizeof()函数获取接受缓冲区的长度;
第四个参数是超时时间,单位是ms,如果超过设置的时间,则函数返回HAL_TIMEOUT,如果设置为HAL_MAX_DELAY,处理器就会一直等到接受到设置好的数据数量再执行下一条语句。
代码编写
波特率调为115200
【STM32】基于STM32F407实现串口通信_Max_Shy的博客-CSDN博客_stm32f407串口通信
串口通讯知识梳理及在Stm32上的应用(HAL库)_冬瓜~的博客-CSDN博客
【CubeIDE】STM32 HAL库史上最详细教程(一):UART串口收发_Nack’BT的博客-CSDN博客_stm32cubeide串口通信
串口通讯知识梳理及在Stm32上的应用(HAL库)_冬瓜~的博客-CSDN博客】
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113319 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!