一、实验思路
连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。
二、实验器材
两套STM32F103C8T6单片机开发板、ST-Link下载器、杜邦线。
三、实验步骤
3.1 配置单片机基本参数
使用STM32CubeIDE进行配置两个单片机的时钟信息、引脚状态、串口信息、中断等基本参数。两单片机均采用串口1进行通讯,对应串口引脚均为PA9(发送引脚)、PA10(接收引脚);单片机B的GPIOC 13引脚设置为输出状态,以控制开发板LED的亮灭。具体配置如下图:
3.2 编写代码
计划单片机B接收到单片机A发送的“1”后点亮LED,接收到单片机A发送的“2”后熄灭LED。现设计单片机A的主程序中循环发送“1”和“2”,期间间隔1s,故单片机主程序如下:
单片机B采用中断接收的方式,当接收到串口数据时进入接收中断回调函数。在回调函数中判别接收到的数值,如果数值为1,则点亮LED,数值为2,则熄灭LED,其它数值则没反应。编写回调函数如下:
3.3 将程序进行编译烧录单片机,可点击以下链接观察实验现象。
实验视频