c51单片机led奇数偶数亮_两STM32单片机串口通讯实验

通过STM32CubeIDE配置两台STM32单片机进行串口通讯,单片机A发送指令,单片机B接收并根据指令('1'点亮,'2'熄灭)控制LED灯,验证通讯效果。
摘要由CSDN通过智能技术生成

一、实验思路

连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。

二、实验器材

两套STM32F103C8T6单片机开发板、ST-Link下载器、杜邦线。

三、实验步骤

3.1 配置单片机基本参数

使用STM32CubeIDE进行配置两个单片机的时钟信息、引脚状态、串口信息、中断等基本参数。两单片机均采用串口1进行通讯,对应串口引脚均为PA9(发送引脚)、PA10(接收引脚);单片机B的GPIOC 13引脚设置为输出状态,以控制开发板LED的亮灭。具体配置如下图:

d046190ac1f307249e188aecdae57786.png

单片机A引脚配置信息

e176dce30353eea5171d7e8a4093ef48.png

单片机B的引脚配置信息

d97aa4a79830eaced6352dc2a6bf3718.png

串口配置信息

3.2 编写代码

计划单片机B接收到单片机A发送的“1”后点亮LED,接收到单片机A发送的“2”后熄灭LED。现设计单片机A的主程序中循环发送“1”和“2”,期间间隔1s,故单片机主程序如下:

4ed4dd559db5a089f4d220217b597445.png

间隔1s循环发送“1”、“2”

单片机B采用中断接收的方式,当接收到串口数据时进入接收中断回调函数。在回调函数中判别接收到的数值,如果数值为1,则点亮LED,数值为2,则熄灭LED,其它数值则没反应。编写回调函数如下:

e9eded3f33713bfd70fbd6fbfc9cf633.png

接收中断回调函数

3.3 将程序进行编译烧录单片机,可点击以下链接观察实验现象。

实验视频

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值