STM32学习:串口通讯(proteus仿真)

本文介绍了通过CubeMX和Proteus进行STM32串口通信的仿真过程,包括电路配置、串口函数编写及中断回调函数的应用。在Proteus中设置COMPIM和VIRTUAL TERMINAL元件实现串口通信,并利用虚拟串口工具进行数据交互,实现了开机发送欢迎信息、接收特定指令控制LED的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本次通过CubeMx+proteus进行stm32串口仿真

具体功能:

1、开机后,向串口1发送“Welcome”
2、串口1接收字节指令“0xa1",打开LED1,回传“LED1 OPEN!”
3、串口1接收字节指令“0xa2",关闭LED1,回传“LED1 Close!”
4、在串口发送过程中,打开LED2作为发送数据指示灯

一、相关知识点

请添加图片描述

二、电路搭建与硬件配置

1、proteus电路搭建

1、COMPIM元件

作用:把仿真电路中的数字量映射到计算机的物理端口
接法:将stm32的TX与COMPIM的TX相连,RX与RX相连,而不是像实物那样交叉相连(RX连TX,TX连RX)。请添加图片描述

2、VIRTUAL TERMINAL虚拟终端元件

作用:查看发送的数据信息
接法:将stm32的TX与虚拟终端的RX相连,RX与TX相连
请添加图片描述

3、整体电路:

请添加图片描述

2、CubeMx硬件电路配置

请添加图片描述请添加图片描述请添加图片描述请添加图片描述

三、串口通讯函数与程序编写

1、串口通讯函数

1、阻塞式发送函数

注意:要等待数据发完才能做其他任务(10000为超时等待10000ms后结束发送)
请添加图片描述

2、非阻塞式发送函数

注意:在阻塞式发送的基础上可以中断(Interrupt)
请添加图片描述请添加图片描述

3、阻塞式接收函数

要等待数据接收完才能做其他任务,所以不推荐
请添加图片描述

4、非阻塞式接受

请添加图片描述

5、串口发送完毕中断回调函数

请添加图片描述

2、程序编写

1、宏定义与数据变量设定

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

#define LED1_ON() 
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值