0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【教程】使用STM32F4进行E22-400T22S编程通信教程

亿佰特物联网应用专家 ? 2025-08-28 19:32 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过本文带大家零基础使用STM32F407VET6单片机进行E22-400T22S模块编程并进行简单的通信,当然如果学会了,也可以举一反三应用于E22、E220、E32所有模块上。

一、STM32环境零基础搭建

本次实验将会使用到的软件是Keil和STM32CubeMX,这两个软件没有请在网上自行下载。本章节零基础手把手教会你搭建最快捷、最简单的STM32代码运行环境。

1.1 keil的芯片固件包下载与安装

本文使用到的MCU是STM32F407VET6,对于Keil来说需要提前安装好相应的固件包,固件包下载地址是https://www.keil.arm.com/packs/stm32f4xx_dfp-keil/(当然这是国外的网站需要VPN走外网),下载好之后,双击运行,默认安装即可。

1.2 通过STM32CubeMX生产代码文件

打开STM32CubeMX软件,点击如图1.1的“序号1”新建一个项目,然后出现图1.2这个界面,现在“序号1”输入框中输入STM32F407VET6,然后选中“序号2”的芯片,最后点击“序号3”开始新工程的搭建。

bcdb4c70-8402-11f0-9080-92fbcf53809c.png

图1.1

bcf2bec8-8402-11f0-9080-92fbcf53809c.png

图1.2

进去芯片配置界面,首先配置SWD烧录口,以便于程序的烧入和Debug调试,如图1.3所示,点击“System Core”选项卡里面的“序号1”SYS,然后找到“序号2”的选择框,我们选择“Serial Wire”,这样程序烧录引脚就配置好了。接着见图1.4所示,在“System Core”选项卡里面找到“序号1”RCC,选择单片机的时钟源,点击“序号2”的下拉菜单,选择“Crystall/Ceramic Resonator”晶振,这里只配了高速时钟,如果需要低速时钟的话,可以自己配置下面的选项卡“High Speed Clock(LSE)”。

bd0329a2-8402-11f0-9080-92fbcf53809c.png

图1.3

bd180aa2-8402-11f0-9080-92fbcf53809c.png

图1.4

配置LED的GPIO,该引脚用于发送接收时候状态的指示。本文使用到的单片机控制LED 的GPIO口是PC13,这里选择你自己单片机控制LED的IO口引脚,本文就以PC13口作为示例。如图1.5所示,首先找到并点击“序号1”的PC13芯片引脚,选择“GPIO_Output”,接下来点击“序号3”就会弹出下面的选择框,如“序号4”所示,可以参考“序号4”的配置,这样LED的GPIO口就配置好了。

bd2ed9a8-8402-11f0-9080-92fbcf53809c.png

图1.5

配置AUX的GPIO,该引脚是反馈E22模块的状态,AUX为高电瓶说明正常,本文使用的的单片机IO口为PC1,操作如图1.6所示,首先点击“序号1”,然后选择“序号2”模式设为输入模式,然后点击“序号3”,紧接着选择“序号4”,最后点击“序号5”,最后按照“序号6”的内容进行选择。

bd4a0f98-8402-11f0-9080-92fbcf53809c.png

图1.6

配置M0的GPIO,该引脚是接E22模块的M0引脚,用于控制E22的模式,本文使用的的单片机IO口为PA1,操作如图1.7所示,首先点击“序号1”,然后选择“序号2”模式设为输出模式,然后点击“序号3”,紧接着选择“序号4”,最后点击“序号5”,最后按照“序号6”的内容进行选择。

bd69f754-8402-11f0-9080-92fbcf53809c.png

图1.7

配置M1的GPIO,该引脚是接E22模块的M1引脚,用于控制E22的模式,本文使用的的单片机IO口为PD14,操作如图1.8所示,首先点击“序号1”,然后选择“序号2”模式设为输出模式,然后点击“序号3”,紧接着选择“序号4”,最后点击“序号5”,最后按照“序号6”的内容进行选择。

bd7e4042-8402-11f0-9080-92fbcf53809c.png

图1.8

接下来配置USART串口,操作如图1.9所示,选择“序号1”,点击“序号2”,选择“USART1”,然后点击“序号3”的菜单下拉框,选择“Asynchronous”,然后点击“序号4”弹出选择框,找到“序号5”,把波特率改为“9600 Bit/s”,这样串口通信就配置成功。为了实现USART串口中断接收,操作如图1.10所示,选择“序号1”,然后勾选“序号4”,使能串口中断。

bd9c68d8-8402-11f0-9080-92fbcf53809c.png

图1.9

bdb1c390-8402-11f0-9080-92fbcf53809c.png

图1.10

现在来配置系统时钟树,操作如图1.11所示,点击“序号1”的“Clock Configuration”,然后在“序号2”的框中改为8,我们选择的是8MHz的晶振,这里按照自己单片机的实际晶振可做修改,然后点击“序号3”,再点击“序号4”,最后把“序号5”的框中改为72,这里配置的系统时钟频率是72MHz,也可以自己选择配置成自己想要且合理的系统时钟频率。

bdc8871a-8402-11f0-9080-92fbcf53809c.png

图1.11

最后来到“Project Manager”,操作如图1.12所示,先点击“序号1”,然后在“序号2”的框中为自己的工程文件取名字,我这里取名为“STM_T”,再在“序号3”中选择自己工程文件的存储位置,最后在选择框“序号4”中选择“MDK-ARM”。最后一步,操作如图1.13所示,我们选择“序号1”,然后点击“序号2”,这里选项的意思是该工程文件只生成必要的函数库文件,再勾选上“序号3”,最后选择点击“序号4”完成工程代码的生成。

bdde6242-8402-11f0-9080-92fbcf53809c.png

图1.12

bdf577a2-8402-11f0-9080-92fbcf53809c.png

图1.13

二、单向发送代码

2.1 代码编写

双击打开keil工程,操作如图2.1所示,按照如下图2.1所示路径,点击“序号1”keil的运行程序,最后打开的页面应该是如图2.2所示。

be0a8dc2-8402-11f0-9080-92fbcf53809c.png

图2.1

be20c6be-8402-11f0-9080-92fbcf53809c.png

图2.2

实现发送信息的功能。操作如图2.3所示,点击“序号1”的mian.c文件,然后在“序号2”框出来位置,写入“序号3”的代码,char msg[]= "Hello,Ebyte!\r\n"; ;然后进行图2.4的操作,点击“序号1”的mian.c文件,然后在“序号2”框出来位置,写入“序号3”的代码,#include "string.h";最后进行图2.5的操作,点击“序号1”的mian.c文件,然后在“序号2”框出来位置,写入“序号3”的代码,HAL_UART_Transmit(&huart1,(uint8_t*)msg,strlen(msg),1000);HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); HAL_Delay(1000);

be3abf38-8402-11f0-9080-92fbcf53809c.png

图2.3

be4d0fd0-8402-11f0-9080-92fbcf53809c.png

图2.4

be4d0fd0-8402-11f0-9080-92fbcf53809c.png

图2.5

2.2 程序烧录下载

准备好单片机和烧录器,本文使用的烧录器是STlink,把STlink与单片机需要烧录的引脚连接好,操作如图2.5所示,点击“序号1”的魔术棒,然后点击“序号2”,在“序号3”左边的选择框选ST-Link Debugger,然后选“Settings”,接着跳出一个界面,看是“序号4”查询是否检测到芯片,然后对比“序号5”进行修改,点击“序号6”确定。按照图2.7进行程序的下载,先点击“序号1”进行编译,再点击“序号2”进行程序的下载。

be6fdc0e-8402-11f0-9080-92fbcf53809c.png

图2.6be86eb6a-8402-11f0-9080-92fbcf53809c.png 图2.7

三、实操

3.1 实物准备

准备好两个E22模块,一个单片机,一个串口工具,若干杜邦线,本文实物准备如图3.1所示。通过串口工具打开E22相应的上位机,上位机在官网下载,通过上位机先把模块都复位,如图3.2所示。

be9a010a-8402-11f0-9080-92fbcf53809c.png

图3.1

bebad95c-8402-11f0-9080-92fbcf53809c.png

图3.2

3.2 连线

E22模块与单片机连线,连线是根据自己配置的引脚进行连线,本文提供的连线如表3.1所示,连接好之后给单片机上电。

E22-400T22S

STM32F407VET6单片机

M0

PA1

M1

PD14

RXD

TX

TXD

RX

AUX

PC1

VCC

5V或者3.3V

GND

GND

另外一个E22与串口工具的连线也类似,连接好之后,给串口助手插入电脑,打开串口助手,打开对应COM口,接收的数据信息如图3.3所示。到此E22模块的单向传输功能已实现。

bed0c7ee-8402-11f0-9080-92fbcf53809c.png

图3.3

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6071

    文章

    45149

    浏览量

    655004
  • 软件
    +关注

    关注

    69

    文章

    5190

    浏览量

    89711
  • STM32F4
    +关注

    关注

    3

    文章

    204

    浏览量

    29221
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    功耗评测之低功耗LoRa模块E22-400T22S各个模式下的波形分析

    本帖最后由 sunwen0011 于 2021-2-7 09:59 编辑 E22-400T22S是全新一代的LoRa无线模块,是由EBYTE(亿佰特)设计研发的,它基于SEMTECH公司
    发表于 02-07 09:53

    E22-400T22S1C lora测试的相关资料分享

    E22-400T22S1C测试说明E22-400T22S1C内部集成MCU,开放串口通信,实现全双工通信。在实际运用时定点传输模式模式切换注意:切换前需要判断AUX引脚置高,切换后在发
    发表于 02-17 07:05

    怎样通过串口对E22-230T22S LoRa模块进行配置和发送数据呢

    E22-230T22S是什么?E22-230T22S LoRa无线模块有何特性?怎样通过串口对E22-230T22S LoRa模块进行配置和发送数据呢?
    发表于 02-21 06:19

    【免费试用08期】E22-400T22S Lora无线模板试用活动

    本期试用名单:华仔stm32天行健03试用报告如下:华仔stm32E22-400T22S Lora无线模板】试用,先打一个底板【E22-400T22S Lora无线模板】焊接模块+参
    发表于 08-19 11:04

    STM32F4 LWIP开发手册

    STM32F4 LWIP开发手册 STM32F4 教程 STM32F4芯片 pdf
    发表于 11-26 11:09 ?67次下载

    STM32F4

    STM32F4最小系统及外围电路原理图。。。
    发表于 05-10 17:06 ?31次下载

    STM32F4中文版FALSH编程手册

    STM32F4中文版FALSH编程手册
    发表于 03-04 18:25 ?0次下载

    STM32F4 简介

    介绍STM32F4芯片
    发表于 01-25 15:28 ?23次下载

    STM32STM32F4时钟系统

    00. 目录文章目录00. 目录01. STM32F4时钟系统概述02. STM32F4时钟系统图03. STM32F4时钟初始化配置04. 时钟配置总结05. 预留06. 附录07. 声明01.
    发表于 11-25 20:06 ?46次下载
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>STM32F4</b>时钟系统

    E22-400T22S1C lora测试说明

    E22-400T22S1C测试说明E22-400T22S1C内部集成MCU,开放串口通信,实现全双工通信。在实际运用时定点传输模式模式切换注意:切换前需要判断AUX引脚置高,切换后在发
    发表于 12-20 19:44 ?24次下载
    <b class='flag-5'>E22-400T22S</b>1C lora测试说明

    STM32F4 EMWIN开发手册

    STM32F4 EMWIN开发手册
    发表于 07-04 14:54 ?24次下载

    PM0214_STM32F3,STM32F4,STM32L4STM32L4plus单片机编程手册

    PM0214_STM32F3,STM32F4,STM32L4STM32L4plus单片机编程手册
    发表于 11-24 08:30 ?22次下载
    PM0214_<b class='flag-5'>STM32F</b>3,<b class='flag-5'>STM32F4</b>,<b class='flag-5'>STM32L4</b>和<b class='flag-5'>STM32L4</b>plus单片机<b class='flag-5'>编程</b>手册

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4编程手册

    电子发烧友网站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4
    发表于 06-06 17:06 ?7次下载

    【教程】轻松上手!E22系列模组简单通信教

    一简介E22-xxxT22系列是全新一代的LoRa无线数传模块,该系列(UART)模块基于SEMTECH高性能射频芯片而研发,其发射功率为:22dBm,具有多种传输方式,工作频段分别在230/400
    的头像 发表于 06-19 19:33 ?536次阅读
    【教程】轻松上手!<b class='flag-5'>E22</b>系列模组简单<b class='flag-5'>通信教</b>程

    【教程】零基础!手把手教你使用STM32F4进行E22-400T22S编程通信

    通过本文带大家零基础使用STM32F407VET6单片机进行E22-400T22S模块编程进行简单的
    的头像 发表于 07-03 19:32 ?631次阅读
    【教程】零基础!手把手教你使用<b class='flag-5'>STM32F4</b><b class='flag-5'>进行</b><b class='flag-5'>E22-400T22S</b><b class='flag-5'>编程</b><b class='flag-5'>通信</b>