跳到主要内容

RS485 实验

RS485

前言

本章我们将向大家介绍如何使用STM32N647的串口实现485通信(半双工)。在本章中,我们将使用STM32N647的串口3来实现两块开发板之间的485通信,并将结果显示在LCD模块上。

经过前面的学习我们知道实际的RS485仍是串行通讯的一种电平传输方式,那么我们实际通讯时可以使用串口进行实际数据的收发处理,使用485转换芯片将串口信号转换为485的电平信号进行传输,本章,我们只需要配置好串口3,就可以实现正常的485通信了,串口3的配置和串口1基本类似。

本章将实现这样的功能:通过连接两个STM32N647的RS485接口,然后由KEY0控制发送,当按下一个开发板的KEY0的时候,就发送5个数据给另外一个开发板,并在两个开发板上分别显示发送的值和接收到的值。

本实验对应的工程文件夹为:<STM32N647 开发板软件包路径>/Projects/25_RS485

实验准备

  1. 将 STM32N647 开发板软件包中提供的示例 FSBL 固件烧录到 STM32N647 开发板上。
FSBL 烧录说明

本实验使用的 FSBL 为 STM32N647 开发板软件包中的示例 FSBL,请根据 示例 FSBL介绍 中的说明烧录对应 fsbl.hex

不同的的实验中,若使用相同的 FSBL,则无需重复烧录。

  1. 将工程文件夹下 Binary 目录下的 appli.hex 依次烧录到 STM32N647 开发板上。
烧录说明

烧录顺序不影响烧录结果。

使用 STM32CubeProgrammer 烧录

  1. 将 LCD 通过 FPC 延长线接入 STM32N647 开发板核心板的 RGBLCD 接口。
LCD 适配说明

本实验例程仅支持 正点原子 RGB 触摸屏模块

  1. 将两块 STM32N647 开发板的 RS485 接口相连接。

  2. 将 STM32N647 开发板的 BOOT 模式配置为 Flash boot 模式

STM32N647 开发板 BOOT 模式配置说明

通过 STM32N647 开发板 P6 的跳线帽配置其 BOOT 模式:

Development boot:B1 接 3V3

Flash boot:B0、B1 都接 GND

  1. 将对应接口的电源线接入 STM32N647 开发板底板的 USB Type-C 接口或 DC 接口,为其进行供电,并将 K1 自锁开关切换到开启状态。

实验现象

在代码编译成功之后,我们通过下载代码到正点原子STM32N647开发板上(注意要2个开发板都下载这个代码哦),得到如下图所示:

img

伴随DS0的不停闪烁,提示程序在运行。此时,我们按下KEY0就可以在另外一个开发板上面收到这个开发板发送的数据了,两个板子LCD显示内容如下图所示:

img

img

第一张图来自开发板A,发送了5个数据,第二张图来自开发板B,接收到了来自开发板A的5个数据。