返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >GD32单片机和STM32单片机的对比分析
  • 657
分享到

GD32单片机和STM32单片机的对比分析

单片机stm32嵌入式硬件物联网GD32 2023-09-04 06:09:03 657人浏览 独家记忆
摘要

GD32单片机和STM32单片机的对比分析 文章目录 GD32单片机和STM32单片机的对比分析1、内核和主频2、供电和功耗3、Flash和RAM4、外设和引脚5、开发环境和成本6、总结7、参

GD32单片机和STM32单片机的对比分析

文章目录


GD32单片机和STM32单片机都是基于Arm Cortex-M3/M4内核的32位通用微控制器,广泛应用于各种嵌入式系统和物联网领域。两者之间有很多相似之处,但也有一些不同之处,本文将从以下几个方面对比分析两者的特点、优势和开发成本。

1、内核和主频

GD32单片机采用的是二代的M3/M4内核,而STM32单片机主要采用的是一代的M3/M4内核。根据ARM公司的M3内核勘误表,GD32使用的内核只有一个BUG,而STM32使用的内核有多个BUG1。这意味着GD32的内核更稳定和可靠。

GD32单片机的主频也比STM32单片机更高。使用高速外部时钟(HSE)时,GD32的主频最大可以达到108MHz,而STM32的主频最大只能达到72MHz。使用高速内部时钟(HSI)时,GD32的主频最大可以达到108MHz,而STM32的主频最大只能达到64MHz2。主频越高,意味着单片机代码运行的速度越快,适合一些需要更快计算或处理能力的应用场景。

2、供电和功耗

GD32单片机和STM32单片机在供电方面有一些差异。GD32外部供电范围是2.63.6V,而STM32外部供电范围是2.03.6V或1.65~3.6V2。这说明GD32的供电范围相对要窄一些,对电源质量要求更高。

GD32单片机和STM32单片机在功耗方面也有一些差异。GD32内核电压是1.2V,而STM32内核电压是1.8V2。这说明GD32的内核电压比STM32的内核电压要低,所以GD32在运行时的功耗更低。但是,在相同设置下,GD32在停机模式、待机模式、睡眠模式下的功耗比STM32要高2。这说明GD32在低功耗模式下的优化还有待提高。

3、Flash和RAM

Flash和RAM是单片机存储程序和数据的重要资源。GD32单片机和STM32单片机在Flash和RAM方面也有一些差异。

  • 首先,GD32单片机提供了更大容量的Flash和RAM。例如,在103系列中,GD103C8T6提供了64KB Flash和20KB RAM,而ST103C8T6只提供了64KB Flash和10KB RAM2。在105/107系列中,GD105/107提供了多达3MB Flash和256KB RAM,而ST105/107只提供了1MB Flash和96KB RAM2。

  • 其次,GD32单片机提高了Flash中程序执行的速度。在前256KB Flash中,程序执行为0等待周期2。而STM32单片机在不同系统频率下需要不同等待周期2。Flash执行速度越快,意味着程序运行效率越高。

  • 最后,GD32单片机增加了Flash擦写周期和Flash写保护功能。GD32单片机的Flash擦写周期为10,000次,而STM32单片机的Flash擦写周期为1,000次。这说明GD32的Flash寿命更长,更适合频繁更新程序的应用场景。GD32单片机的Flash写保护功能可以通过软件或硬件方式实现,而STM32单片机的Flash写保护功能只能通过硬件方式实现。这说明GD32的Flash写保护功能更灵活和方便。

4、外设和引脚

外设和引脚是单片机与外部设备通信和控制的重要接口。GD32单片机和STM32单片机在外设和引脚方面也有一些差异。

  • 首先,GD32单片机提供了更多种类和数量的外设。例如,在103系列中,GD103提供了3个USART、3个SPI、2个I2C、2个CAN、1个USB、1个SDio、1个FSMC、3个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、1个ADC、1个DAC等外设,而ST103只提供了3个USART、2个SPI、2个I2C、1个CAN、1个USB、2个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、1个ADC等外设。在105/107系列中,GD105/107提供了5个USART、3个SPI、2个I2C、3个CAN、2个USB(包括OTG)、1个SDIO、1个FSMC、4个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、3个ADC等外设,而ST105/107只提供了5个USART、3个SPI、2个I2C、2个CAN、1个USB(包括OTG)、1个SDIO、1个FSMC、4个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、2个ADC等外设。这说明GD32的外设更丰富和强大,可以满足更多样化的应用需求。

  • 其次,GD32单片机提供了更多引脚和更高的引脚复用度。例如,在103系列中,GD103C8T6提供了48个引脚,而ST103C8T6只提供了44个引脚。在105/107系列中,GD105/107提供了144个引脚,而ST105/107只提供了100个引脚。GD32单片机的引脚还可以通过软件配置实现多达16种功能的复用,而STM32单片机的引脚只能通过硬件配置实现4种功能的复用。这说明GD32的引脚更灵活和方便,可以减少外部电路的复杂度和成本。

5、开发环境和成本

开发环境和成本是影响单片机选择和应用的重要因素。GD32单片机和STM32单片机在开发环境和成本方面也有一些差异。

  • 首先,GD32单片机和STM32单片机都可以使用Keil、IAR等常用的开发软件进行编程和调试,也都可以使用J-Link、ST-Link等常用的调试工具进行下载和仿真。两者之间在开发软件和调试工具方面没有太大差别。

  • 其次,GD32单片机和STM32单片机都有各自的官方网站和论坛,提供相关的技术文档、示例代码、驱动库、开发板等资源。两者之间在技术支持方面没有太大差别。

  • 最后,GD32单片机和STM32单片机在价格方面有一些差异。根据我从网络上搜索到的信息,GD32单片机的价格一般比STM32单片机便宜一些 。这说明GD32在成本方面有一定优势。

6、总结

综上所述,GD32单片机和STM32单片机都是优秀的32位通用微控制器,各有各的特点和优势。GD32单片机在内核稳定性、主频速度、Flash容量、Flash执行速度、Flash擦写周期、Flash写保护功能、外设种类和数量、引脚数量和复用度等方面优于STM32单片机;而STM32单片机在供电范围、低功耗模式下的功耗等方面优于GD32单片机。两者在开发环境、技术支持等方面没有太大差别,但是GD32单片机在价格方面比STM32单片机便宜一些。因此,在选择GD32或STM32时,需要根据具体的应用场景和需求进行权衡和考虑。

7、参考文献

  • https://www.cnblogs.com/chen-farsight/p/10822677.html
  • Https://www.eefocus.com/mcu-dsp/436281
  • https://www.eefocus.com/mcu-dsp/436281

来源地址:https://blog.csdn.net/wujuxKkoolerter/article/details/131340691

--结束END--

本文标题: GD32单片机和STM32单片机的对比分析

本文链接: https://www.lsjlt.com/news/393047.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • GD32单片机和STM32单片机的对比分析
    GD32单片机和STM32单片机的对比分析 文章目录 GD32单片机和STM32单片机的对比分析1、内核和主频2、供电和功耗3、Flash和RAM4、外设和引脚5、开发环境和成本6、总结7、参...
    99+
    2023-09-04
    单片机 stm32 嵌入式硬件 物联网 GD32
  • OpenMV如何与STM32单片机通信
    这篇文章主要介绍了OpenMV如何与STM32单片机通信,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。硬件连接我所用到的材料如下: 四针IIC OLED,OpenMV(OV7...
    99+
    2023-06-25
  • 基于STM32单片机的智能家居毕设
    文章目录 一、硬件选型1、硬件清单2、硬件展示(部分) 二、效果展示1、整体效果展示2、显示屏(触摸)效果展示 三、功能分析1、系统总体结构框图2、主要包含的功能 四、怎么做...
    99+
    2023-10-12
    stm32 arm c语言 物联网 微信小程序
  • STM32单片机I/O的工作模式有哪些
    这篇文章主要讲解了“STM32单片机I/O的工作模式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“STM32单片机I/O...
    99+
    2024-04-02
  • 超详细OpenMV与STM32单片机通信 附完整源码
    目录1.前言(闲话)2.硬件连接3.软件代码———OpenMV端4.软件代码———STM32端5.利用PC端测试数据数据是否发送接收正常6.学习补充 (代码看不懂的时候可以来看一下)...
    99+
    2024-04-02
  • 【RTOS学习】单片机中的C语言
    🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 本喵默认各位小伙伴都会C语言,我们平时学习C语言都是...
    99+
    2023-10-12
    学习 单片机 c语言
  • 单片机中的数据存储器ram
    存储器是由许多的存储单元集合所成,按照单元号顺序进行排列。每个单元由若干三进制位构成,以表示存储单元中所存放的数值,这种结构和数组的结构非常相似,故在VHDL语言中,通常是由数组描述存储器。存储器是用来存储程序和各种数据信息的记忆部件。...
    99+
    2023-06-03
  • c语言和php的简单对比,不同点分析!
    C语言和PHP是两种不同的编程语言,它们各自具有不同的特点和用途。本文将介绍C语言和PHP的不同点,以便读者更好地了解这两种编程语言。一、C语言和PHP的概述C语言是一种通用的高级计算机编程语言,被广泛用于操作系统、网络、数据库、科学计算等...
    99+
    2023-05-14
    php C语言
  • Android Studio制作手机App:通过手机蓝牙(Bluetooth)与STM32上的低功耗蓝牙(HC-42)连接通信,实现手机端对单片机的控制。
    背景: 本文的内容是针对单片机蓝牙模块(HC-42)开发的手机App。在这之前,我想先声明一点,手机与手机间的蓝牙连接方式”与“手机与HC间的蓝牙连接方式”是不一样的。原因就是手机搭配的是“经典蓝牙”模块,HC等蓝牙属于“低功耗蓝牙”模块。...
    99+
    2023-09-02
    单片机 智能手机 stm32 java android studio
  • 简单对比:github和git的区别浅析
    在开发软件和网站时,版本控制是至关重要的一步,尤其是现在的开发环境变得更加复杂而庞大。Git 是一个流行的分布式版本控制系统,而 Github 则是一个基于 Git 的代码托管服务,也是开源社区中的重要组成部分。尽管它们的名字很相似,但它们...
    99+
    2023-10-22
  • JAVA反射机制中getClass和class对比分析
    java有两个获得类名的方法getClass()和class(),这两个方法看似一样,实则不然。这两个方法涉及到了java中的反射。所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是...
    99+
    2023-05-30
    java 反射 class
  • ogg单机安装的示例分析
    小编给大家分享一下ogg单机安装的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一、系统检...
    99+
    2024-04-02
  • android判断相机图片朝向的简单方法
    android应用里使用相机图片时必须要考虑的一个问题就是图片朝向,只有判断对朝向才能调整图片从而更好的展现。本文将介绍一种通过ExifInterface判断图片朝向的方法!上代码:public void setImg(String img...
    99+
    2023-05-31
    android 判断 图片
  • python中单双下划线的区别对比分析
    区别: xx:公有变量,所有对象都可以访问; xxx:双下划线代表着是系统定义的名字。__xxx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问。代表着类中的私有变量名...
    99+
    2023-05-17
    python单双下划线的区别 python单双下划线
  • MySQL中单机多实例的示例分析
    这篇文章主要介绍MySQL中单机多实例的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 实现单机多实例可以通过Docker轻松做到,这里主要是分...
    99+
    2024-04-02
  • Vue中JSX语法和模板语法的简单对比(优劣势分析)
    在Vue.js中,开发人员可以使用两种不同的语法来创建用户界面:JSX语法和模板语法。这两种语法各有优劣,下面就来探讨一下它们的区别和优劣势。JSX语法和模板语法JSX语法是一种基于JavaScript的语法扩展,它允许在JavaScrip...
    99+
    2023-05-14
    前端 Vue.js
  • Android 图片的三级缓存机制实例分析
    Android 图片的三级缓存机制实例分析当我们获取图片的时候,如果不加以协调好图片的缓存,就会造成大流量,费流量应用,用户体验不好,影响后期发展。为此,我特地分享Android图片的三级缓存机制之从网络中获取图片,来优化应用,具体分三步进...
    99+
    2023-05-31
    android 图片 三级缓存
  • 对路由器和交换机的简单了解
          没有接触过网络产品,但是现在工作上用到了。出现过几次网络故障,自己一个人处理了下,感觉非常棘手,遂决定开始学习网络方面的知识,发现无论在生活中还是工作上都使用的非常广泛。好吧,开...
    99+
    2023-06-03
  • RabbitMQ单机版部署安装的示例分析
    这篇文章主要介绍了RabbitMQ单机版部署安装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的...
    99+
    2023-06-29
  • Android Socket 线程连接openwrt与arduino单片机串口双向通信的实例解析
    废话不多说了,直接给大家贴代码了,具体代码如下所示: package zcd.netanything; import java.io.BufferedReader; impo...
    99+
    2022-06-06
    串口 openwrt 通信 线程 socket Android arduino
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作