1、Cubemx
2、stm32Hal库
3、同步串口收发
4、阻塞式收发
stm32串口配置过程
1、创建工程,详情请看我的第一篇博文
链接: 点击这里.
2、配置Sys
3、查看原理图找到使用的串口所在的引脚
我使用的是stm32f103zet6 串口一的管脚为PA9、PA10
分别配置PA9、PA10为USART1_TX、USART1_RX
4、配置串口工作方式
5、生成工程,见上一篇链接链接:
点击这里.
6、生成的usart初始化如图
7、接下来就是配置主函数了,配置之前我要先讲解两个函数
(1)发送函数
函数采用阻塞的方式发送,运行到此函数时会进入串口发送,直到发送成功或者阻塞时间结束才可退出阻塞
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart //句柄,选择串口
, uint8_t *pData, //发送的数据,此处为指针变量,可以填数组
uint16_t Size, //数据的大小
uint32_t Timeout); //阻塞时间,单位为ms
(2)接收函数
函数采用阻塞的方式接受,运行到此函数时会进入串口接受,直到接收成功或者阻塞时间结束才可退出阻塞
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, //句柄,选择串口
uint8_t *pData, //数据缓存区,此处为指针变量,可以填数组
uint16_t Size, //数据的大小
uint32_t Timeout); //阻塞时间,单位为ms