2、stm32 hal 串口收发

1、Cubemx
2、stm32Hal库
3、同步串口收发
4、阻塞式收发

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

8、我的主函数实现的功能是轮询的进行接收,并且在接受完成后会立即将数据发送出去

(1)私人define

在这里插入图片描述

(2)定义变量及数组

在这里插入图片描述

(3)轮询部分(while循环)

在这里插入图片描述

9、运行效果图如下

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老尚嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值