最后更新:2022-04-28 12:49:06 手机定位技术交流文章
目录
0 实验预期效果
1 相关原理图
2 硬件配置
3 软件配置
USART相关知识
STM32CubeMX的设置
4 代码编写
函数理解
串口发送
串口接收
代码编写
完整序列数据的接收和交付。

DAPLINK、STM32F407VET6:


立正,TXD -PA10!
!!
GND —— GND
5V —— 5V
USART 简介、 功能描述和博客框图: [STM32] STM32F407 组合 - Max_ Shi - CSDN Blogs_stm32f407 组合


1 鼠标点击USATR1;
MODE应该设为“同步”组织。
波特的速率是115,200比特/秒。传输数据有8比特长度,无校准,1站,接收和发送均是如此。
USART1_RX/USART_TX 4GPIO 脚架
5NVIC设置栏规定了接收休息时间。
HAL库 UART 这个博客在功能库中描述: [STM32] STM32F407 序列通信 _Max_Shy _CSN 博客_stm32f407 西瓜-CSDN关于Stm32系列通信和应用整合的博客(HAL图书馆)
HAL_UART_Transmit():
第一个参数是要使用的串口句柄地址,比如要使用U(S)ART1,参数就设置为U(S)ART1的句柄地址&huart1;
第二个论点是从数据缓冲区转移的第一个地址。
交付的数据长度是第三个参数,可使用()大小法直接获取。
第四个选项是以毫秒计的超时。 如果达到时间限制, 方法返回 HAL_ TIMEOUT。 如果HAL_ MAX_ DELAY 设置好了, 处理器将等到数据传输后再继续到下个语句 。
HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
此函数与 HAL_UART_ Transmit () 函数一样,有四个参数:
第一个参数是要使用的串口句柄地址,比如要使用U(S)ART1,参数就设置为U(S)ART1的句柄地址&huart1;
第二个论点具体说明了接收数据的缓冲区的最初地址。
所接受数据的长度是第三个论点,所接受的缓冲长度可根据()大小方法直接确定。
第四个参数是所用时间,以毫秒计,如果超过指定时间,函数返回 HAL_TIMEOUT;如果设定为 HAL_MAX_DELAY,处理器将等到接受的数据集数量之后再执行下个语句。
波特的小时工资是115 200美元

[参考博客: [STM32Cube_06] 与 USAART (查询模式)_Mculover66 博客-CSDN 博客发送和接收数据
[STM32] STM32F407 序列通信 _Max_Shy _CSN 博客_stm32f407
西瓜-CSDN关于Stm32系列通信和应用整合的博客(HAL图书馆)
历史史上最完整的STM32 HAL图书馆课程(I):UART的博客——CSDN博客——stm32cubeide
西瓜-CSDN关于Stm32系列通信和应用整合的博客(HAL图书馆)】
[这份材料是个人学习记录,不用于商业用途] 哦,我的上帝!
本文由 在线网速测试 整理编辑,转载请注明出处。