一文解析STM32、GD32、ESP32差异

发布者:BlissfulHeart最新更新时间:2024-08-22 来源: elecfans关键字:STM32  GD32  ESP32 手机看文章 扫描二维码
随时随地手机看文章

前言 

STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机


GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。

ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂就集成蓝牙、WiFi 等物联网必备功能,板子也很小,适合物联网。

GD32 和 STM32 的区别

GD32 是国产单片机,据说开发人员来自ST公司,GD32 也是以 STM32 作为模板做出来的。所以 GD32 和 STM32 有很多地方都是一样的,不过 GD32 毕竟是不同的产品,不可能所有东西都沿用 STM32,有些自主开发的东西还是有区别的。不同的地方如下:

1、内核

GD32 采用二代的 M3 内核,STM32 主要采用一代 M3 内核,下图是 ARM 公司的 M3 内核勘误表,GD 使用的内核只有 752419 这一个 BUG。

31c4f960-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

2、主频

使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M

使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M

主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD 是一个不错的选择。

3、供电

外部供电:GD32 外部供电范围是 2.6~3.6V,STM32 外部供电范围是2.0~ 3.6V或1.65~ 3.6V。GD 的供电范围比 STM32 相对要窄一点。

内核电压:GD32 内核电压是 1.2V,STM32 内核电压是 1.8V。GD 的内核电压比 STM32 的内核电压要低,所以 GD 的芯片在运行的时候运行功耗更低。

4、Flash差异

GD32 的 Flash 是自主研发的,和 STM32 的不一样。

GD Flash 执行速度:GD32 Flash 中程序执行为 0 等待周期。

STM32 Flash 执行速度:ST 系统频率不访问 flash 等待时间关系:0 等待周期,当 0Flash 擦除时间:GD 擦除的时间要久一点,官方给出的数据是这样的:GD32F103/101 系列 Flash 128KB 及以下的型号, Page Erase 典型值 100ms, 实际测量 60ms 左右。对应的 ST 产品 Page Erase 典型值 20~40ms。

5、功耗

从下面的表可以看出 GD 的产品在相同主频情况下,GD 的运行功耗比 STM32小,但是在相同的设置下 GD 的停机模式、待机模式、睡眠模式比 STM32 还是要高的。

31d94a6e-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

6、串口

GD 在连续发送数据的时候每两个字节之间会有一个 Bit 的 Idle,而 STM32 没有,如下图:

31ea36c6-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

GD 的串口在发送的时候停止位只有 1/2 两种停止位模式。STM32 有 0.5/1/1.5/2 四种停止位模式。

GD 和 STM32 USART 的这两个差异对通信基本没有影响,只是 GD 的通信时间会加长一点。

7、ADC 差异

GD 的输入阻抗和采样时间的设置和 ST 有一定差异,相同配置 GD 采样的输入阻抗相对来说要小。具体情况见下表这是跑在 72M 的主频下,ADC 的采样时钟为 14M 的输入阻抗和采样周期的关系:

31f497a6-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

8、FSMC

STM32 只有 100Pin 以上的大容量(256K及以上)才有 FSMC,GD32 所有的 100Pin 或 100Pin 以上的都有 FSMC。

9、103 系列 RAM&FLASH 大小差别

GD103 系列和 ST103 系列的 ram 和 flash 对比如下图:

32059a1a-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

10、105&107系列STM32和GD的差别

GD的105/107的选择比ST的多很多,具体见下表:

321471de-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

11、抗干扰能力

GD 的抗干扰能力不如 STM32,还需要一定打磨。

ESP32 和 STM32

ESP32 是乐鑫公司推出的一款采用两个哈佛结构 Xtensa LX6 CPU 构成的拥有双核系统的芯片。所有的片上存储器、片外存储器以及外设都分布在两个 CPU 的数据总线和/或指令总线上。

相比于 STM32 的一个大家族,ESP32 虽然也代表一个系列,但目前来说,这个系列的成员还是比较少的,我们看下:

322748c2-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

资源如下:

323638d2-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000324b082a-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/10003254ef3e-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

功能框图如下:

326e7828-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

模块(非芯片)的引脚分布如下:

32777234-0f02-11ed-ba43-dac502259ad0.png?imageView2/2/w/1000

ESP32 这个模块的 IO 并不多,估计也就 30 个左右(芯片有34个,但是模块中外接 FLASH 用掉了一些)。但是你会发现它有几个特点:

1、集成了非常多的外设接口,SPI、IIC、IIS、AD、DA、PWM、IR、UART、CAN等等。IO 数量有限,所以基本上每个 IO 都有多个功能。

2、片内flash和ram很大,flash有448KB,ram有520KB。而模块上直接挂了一个4MB的flash。

3、速度快!虽然外接晶体的频率只有40MHZ,但通过内部主频可以支持80MHZ、160MHZ、240MHZ,运算能力高达600MIPS。

4、有wifi和蓝牙!当前两者不能同时使用。

STM32 和 ESP32 基本是有各自不同的定位。ESP32 偏向体积小巧、速度超快、功能强大,通过 wifi 接入网络,专门为物联网而生;而 STM32 偏向管脚丰富、功能全面,虽然没有 wifi 和蓝牙,速度也没有 ESP32 快,但是可以通过网口接入网络,可以控制更多的外设,为消费电子和工业控制而生。


总结

STM32 和 GD32 是同质化产品,区别一个是国外,一个是国产,最近流行国产化替代,所以 GD32 还是很有发展前景的。


关键字:STM32  GD32  ESP32 引用地址:一文解析STM32、GD32、ESP32差异

上一篇:STM32ADC中断的使用注意事项和优化建议
下一篇:浅谈STM32CubeMX使用方法及功能介绍

推荐阅读最新更新时间:2026-03-23 21:09

一文解析STM32GD32ESP32差异
前言 STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机。 GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。 ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂就集成蓝牙、WiFi 等物联网必备功能
[单片机]
一文解析<font color='red'>STM32</font>、<font color='red'>GD32</font>、<font color='red'>ESP32</font>差异
VScode开发STM32/GD32单片机-环境搭建
1、软件下载 1.1、安装 VSCode 1.2、下载安装 VisualGDB 1.3、下载安装 mingwin64 1.4、下载安装 OpenOCD 1.5、下载 GNU Arm Embedded Toolchain 2、软件安装 2.1、安装完成 VisualGDB 找到安装目录如下位置 将破解软件放在里边 管理员方式运行弹出如下两个窗口 2.2、安装 mingwin64 安装完成之后将路径添加到环境变量中 找到安装目录下得bin文件夹,将文件路径添加到系统环境变量中 设置环境变量 上 2.3安装 OpenOCD 软件,直接将bi
[单片机]
VScode开发<font color='red'>STM32</font>/<font color='red'>GD32</font>单片机-环境搭建
GD32单片机STM32远程下载手机程序升级固件下载局域网网页升级工具
GD32、STM32单片机,是我们最常见的一种MCU。通常我们在使用STM32单片机都会遇到程序在线升级下载的问题。 GD32/STM32单片机的在线下载通常需要以下几种方式完成: 1、使用ST/GD提供的串口下载工具,本地完成固件的升级下载。 2、自行完成系统BootLoader的编写,将系统程序分为BootLoader和APP两个部分,BootLoader完成固件升级。 3、使用STM32/GD固件服务器,完成固件的升级,固件服务器https://simplewifi.taobao.com/ 几种方式各有优缺点: 使用ST提供的方法进行固件升级,方法简单,不需要额外的开发。但是,只能本地完成STM32单片机的升级。
[单片机]
<font color='red'>GD32</font>单片机<font color='red'>STM32</font>远程下载手机程序升级固件下载局域网网页升级工具
使用MCU GD32替代STM32的体会
GD32作为国产MCU里的佼佼者,产品线也比较丰富,是替代STM32的一个很好的选择。前段时间有个项目用到GD32的单片机,今天来说说使用的一些体会。 1.硬件我用的单片机型号为GD32F405RGT6,对应STM32F405RGT6。首先,硬件上基本兼容,有一点不同的是GD32的31和47脚为NC,STM32的为VCAP。STM32这两个引脚需要分别连接一个电容到GND,而GD32则不需要。当然,有这两个电容也无所谓,所以,硬件上GD32可以直接替换STM32。 仿真器可以使用Jlink,也可以使用STLink,但是下载程序时会弹框提示,非ST芯片。 2.软件软件上,前期
[单片机]
使用MCU <font color='red'>GD32</font>替代<font color='red'>STM32</font>的体会
gd32stm32的区别
gd32和stm32的区别 现在的市场上有很多种不同类型的微控制器,其中比较常见的有两种,即gd32和stm32。两种微控制器都是中国和欧洲的两个公司分别推出的,但是它们之间有很多区别,本文将会深入探讨这些区别。 1.起源和历史 gd32是中国的光弘科技公司于2014年推出的微控制器,因其与stm32在引脚兼容性上的相似之处而广受欢迎。而stm32则是欧洲的STMicroelectronics公司于2007年推出的一种微控制器系列,旨在替代8位的微处理器。 2.精度 gd32与stm32在精度方面有所不同。这是因为它们使用不同的时钟源,因此在使用定时器时,gd32的精度更高,在数码管和驱动方面表现也更好。 3.性能 stm32的性
[单片机]
STM32/GD32翻新或假货
今天,我的技术交流群在讨论芯片涨价和咸鱼上卖芯片的话题,然后又看到了公众号嵌入式ARM分享了一篇《GD32也开始假货泛滥了》文章,我也来说说关于芯片涨价和假货的一些问题。 1 芯片涨价背景前两年的中美毛衣战,使国内一些技术型大企业受到了影响,比如华为。但是绝大部分电子相关的企业,受到的影响很小。 2020年,一场疫情,导致了一些半导体企业受到很大打击,比如工人罢工。 然后,一些原材料价格开始出现了不同程度的上涨,特别是今年初开始,很多金属、塑料等绝大部分原材料价格都上涨了,小到电阻电容,大到电视冰箱等消费电子产品,都出现了不同程度的涨价。 芯片亦如此,我们熟知的MCU价格出现了不同程度的涨价,相信大家都知道了,特别是STM32
[单片机]
串口、并口、USB、UART及RS232/RS485接口与ESP32STM32的应用解析
在嵌入式系统和电子设备开发中,理解各种通信接口和主流微控制器的区别至关重要。本文将清晰梳理几组关键概念的区别,助您在项目选型时做出明智决策。 一、 串行接口 vs. 并行接口 核心区别:数据传输方式 串行接口: 数据位在一根(单工)或一对(双工) 信号线上依次、一位接一位地传输。例如:UART、I2C、SPI、USB、RS232、RS485、以太网等。 优点: 线路简单、成本低、抗干扰能力强(尤其远距离)、连接器引脚少、布线方便。 缺点: 相对并行接口,速度较慢(同一时钟周期只传1位)。 典型应用: 远距离通信、设备间点对点或总线通信、对速度要求不极端高的场景。 并行接口: 数据位通过多根(通常8位、16位、32位等)
[单片机]
串口、并口、USB、UART及RS232/RS485接口与<font color='red'>ESP32</font>、<font color='red'>STM32</font>的应用解析
学习单片机ESP32STM32,该如何选择?
最近看到一个问题,原话如下: 如果为后面找工作的做铺垫的话,闭眼冲STM32,更通用。 ESP32适合工作用到了WiFi和蓝牙功能需求时,再针对性学习。 从行业应用来说,STM32更加广泛,不管是工业控制,汽车电子,还是消费电子。 如果项目需要用到WiFi+蓝牙功能,那用ESP32会很合适。 如果对于找工作来说,其实掌握哪种单片机都无所谓,最主要的是你做过哪些具体的行业应用(项目),这才是核心竞争力。 如果学STM32的话,我建议直接通过项目学,效率高一点。 就像开车一样,不一定非要把车所有功能都摸透,才能把车开走,知道挂挡、踩油门、踩刹车、控方向都够了。 随着不同的路段,不同的需求,再针对性去学习别的功能,慢慢就系统了,有些
[单片机]
学习单片机<font color='red'>ESP32</font>与<font color='red'>STM32</font>,该如何选择?
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved