跳到主要内容

串口通信实验

Serial

前言

本章我们将学习STM32N647的串口,教大家如何使用STM32N647的串口来发送和接收数据。本章将实现如下功能:STM32N647通过串口和上位机的对话,STM32N647在收到上位机发过来的字符串后,原原本本的返回给上位机。

本实验,LED0闪烁,提示程序在运行。 STM32通过串口1和上位机对话,STM32在收到上位机发过来的字符串(以回车换行结束)后,会返回给上位机。同时每隔一定时间,通过串口1输出一段信息到电脑。

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

实验准备

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

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

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

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

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

使用 STM32CubeProgrammer 烧录

  1. 使用 USB Type-C 数据线将串口调试助手的物理机与 STM32N647 开发板的 USB UART 接口连接。

  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 自锁开关切换到开启状态。

实验现象

下载完成之后,可以看到板子上的LED0开始闪烁,说明程序已经在跑了。串口调试助手,我们用XCOM V2.7,该软件在光盘有提供,且无需安装,直接可以运行,但是需要你的电脑安装有.NET Framework 4.0(WIN自带了)或以上版本的环境才可以,该软件的详细介绍请看:http://www.openedv.com/posts/list/22994.htm 这个帖子。

接着我们打开XCOM V2.7,设置串口为开发板的USB转串口(CH340虚拟串口,得根据你自己的电脑选择,我的电脑是COM28,另外,请注意:波特率是115200)。因为我们在程序上面设置了必须输入回车,串口才认可接收到的数据,所以必须在发送数据后再发送一个回车符,这里XCOM提供的发送方法是通过勾选发送新行实现,只要勾选了这个选项,每次发送数据后,XCOM都会自动多发一个回车(0X0D+0X0A)。设置好了发送新行,我们再在发送区输入你想要发送的文字,然后单击发送,可以看到如图所示:

01

可以看到,我们发送的消息被发送回来了。大家可以试试,如果不发送回车(取消发送新行),在输入内容之后,直接按发送是什么结果,大家测试一下吧。