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

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

3天内不再提示

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

亿佰特物联网应用专家 ? 2025-07-03 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/,下载好之后,双击运行,默认安装即可。


1.2 通过STM32CubeMX生产代码文件

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

66130dce-5801-11f0-9cf1-92fbcf53809c.png

图1.1

6627c57a-5801-11f0-9cf1-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)”。

663e9a5c-5801-11f0-9cf1-92fbcf53809c.png

图1.3

664f2cb4-5801-11f0-9cf1-92fbcf53809c.png

图1.4

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

66613684-5801-11f0-9cf1-92fbcf53809c.png

图1.5

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

66732d1c-5801-11f0-9cf1-92fbcf53809c.png

图1.6

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

668dca5a-5801-11f0-9cf1-92fbcf53809c.png

图1.7

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

669d71b2-5801-11f0-9cf1-92fbcf53809c.png

图1.8

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

为了实现USART串口中断接收,操作如图1.10所示,选择“序号1”,然后勾选“序号4”,使能串口中断。

66ad98ee-5801-11f0-9cf1-92fbcf53809c.png

图1.9

66cd21be-5801-11f0-9cf1-92fbcf53809c.png

图1.10

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

66e26e20-5801-11f0-9cf1-92fbcf53809c.png

图1.11

最后来到“Project Manager”,操作如图1.12所示,先点击“序号1”,然后在“序号2”的框中为自己的工程文件取名字,笔者这里取名为“STM_T”,再在“序号3”中选择自己工程文件的存储位置,最后在选择框“序号4”中选择“MDK-ARM”。

最后一步,操作如图1.13所示,我们选择“序号1”,然后点击“序号2”,这里选项的意思是该工程文件只生成必要的函数库文件,再勾选上“序号3”,最后选择点击“序号4”完成工程代码的生成。

66f3ed08-5801-11f0-9cf1-92fbcf53809c.png

图1.12

670b9d22-5801-11f0-9cf1-92fbcf53809c.png

图1.13


单向发送代码

2.1 代码编写

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

6722dd20-5801-11f0-9cf1-92fbcf53809c.png

图2.1

6734dd0e-5801-11f0-9cf1-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);

67465c28-5801-11f0-9cf1-92fbcf53809c.png

图2.3

6754cc9a-5801-11f0-9cf1-92fbcf53809c.png

图2.4

6769f8d6-5801-11f0-9cf1-92fbcf53809c.png

图2.5


2.2 程序烧录下载

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

按照图2.7进行程序的下载,先点击“序号1”进行编译,再点击“序号2”进行程序的下载。

677a3610-5801-11f0-9cf1-92fbcf53809c.png

图2.6

67889ba6-5801-11f0-9cf1-92fbcf53809c.png

图2.7



实操

3.1 实物准备

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

679bbf2e-5801-11f0-9cf1-92fbcf53809c.png

图3.1

67b52b3a-5801-11f0-9cf1-92fbcf53809c.png

图3.2


3.2 连线

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

表3.1

67c5d7e6-5801-11f0-9cf1-92fbcf53809c.png

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

67d5ab58-5801-11f0-9cf1-92fbcf53809c.png

图3.3


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

    关注

    6068

    文章

    45032

    浏览量

    651964
  • 通信
    +关注

    关注

    18

    文章

    6211

    浏览量

    137998
  • STM32
    +关注

    关注

    2295

    文章

    11034

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零基础开发AI Agent——手把手教你用扣子做智能体》

    零基础开发AI Agent——手把手教你用扣子做智能体》是一本为普通人量身打造的AI开发指南。它不仅深入浅出地讲解了Agent的概念和发展,还通过详细的工具介绍和实战案例,帮助读者快速掌握
    发表于 03-18 12:03

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

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

    手把手教你stm32

    手把手教你stm32STM32编程作为一项实操性很强的技能,所以要多实操。初学的话,我觉得书籍就暂时先不买吧,先考虑入手一块
    发表于 08-09 07:44

    手把手教你学习STM32

    手把手教你学习STM32
    发表于 12-17 07:18

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

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

    手把手教你写批处理-批处理的介绍

    手把手教你写批处理-批处理的介绍
    发表于 10-25 15:02 ?69次下载

    美女手把手教你如何装机(中)

    美女手把手教你如何装机(中) 再来是硬碟的部份,这款机壳还不错,可以旋转支架~
    发表于 01-27 11:14 ?1528次阅读

    美女手把手教你如何装机(下)

    美女手把手教你如何装机(下) 接著下来就是今天的重头戏,开核萝!~
    发表于 01-27 11:16 ?3039次阅读

    手把手教你安装Quartus II

    本章手把手把教你如何安装 Quartus II 软件 ,并将它激活 。此外 还有USB -Blaster下载器的驱动安装步骤 。
    发表于 09-18 14:55 ?9次下载

    手把手教你如何开始DSP编程

    手把手教你如何开始DSP编程
    发表于 04-09 11:54 ?13次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何开始DSP<b class='flag-5'>编程</b>

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视
    发表于 03-06 01:41 ?3336次阅读

    手把手教你开发基于单片机的wifi通信的物联网项目(远程灯控制)

    手把手教你开发基于单片机的wifi通信的物联网项目(远程灯控制)
    发表于 11-12 19:36 ?18次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>开发基于单片机的wifi<b class='flag-5'>通信</b>的物联网项目(远程灯控制)

    手把手教你查找stm32 HardFault_Handler调试及问题方法

    手把手教你查找stm32 HardFault_Handler调试及问题方法
    发表于 12-03 09:36 ?22次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>查找<b class='flag-5'>stm32</b> HardFault_Handler调试及问题方法

    手把手教你移植openharmony3.0到stm32(liteos_m)

    手把手教你移植openharmony3.0到stm32(liteos_m)
    发表于 12-05 20:21 ?47次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>移植openharmony3.0到<b class='flag-5'>stm32</b>(liteos_m)

    手把手教你学FPGA仿真

    电子发烧友网站提供《手把手教你学FPGA仿真.pdf》资料免费下载
    发表于 10-19 09:17 ?2次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>学FPGA仿真