gd32和stm32的编程区别

发布者:SereneMelody最新更新时间:2024-07-24 来源: elecfans关键字:gd32  stm32 手机看文章 扫描二维码
随时随地手机看文章

GD32和STM32是目前市场上比较流行的两种芯片,它们都具有高性能、低功耗和丰富的外设等特点,因此得到了广泛的应用。但是,GD32和STM32在编程上还是存在差异的,本文将就此进行详细地解析。

一、GD32和STM32的概述

GD32和STM32是龙芯(RISC-V)和意法半导体(ARM Cortex-M)两家公司推出的芯片,由于两家公司的巨大影响力,它们在市场上一直处于领先位置。GD32是龙芯推出的32位微控制器,基于RISC-V架构,主要应用于智能家居、物联网和工业控制等领域;STM32是意法半导体推出的32位微控制器,基于ARM Cortex-M架构,主要应用于汽车、医疗、电力等领域。

二、GD32和STM32的编程区别

1. 开发环境

GD32和STM32的开发环境主要分为两种:Keil和GCC,这两种开发环境对于GD32和STM32都是通用的,但是在具体的编译工具链的选择上有所不同。对于Keil开发环境来说,在编译器的选择上STMCubeIDE是只能用于STM32的,而GCC则没有这个限制,可以用于GD32和STM32。此外,在驱动和库的选择上也有所不同。

2. 命名空间

在代码的编写上,GD32和STM32的命名空间略有不同。例如,在使用时钟控制器的API时,在STM32中是通过RCC来访问,而在GD32中则是通过rcu根据不同的模块来访问。这种命名空间的不同性实际上是由于不同的芯片结构造成的。

3. 输出方式

GD32和STM32在输出方式上也有所不同。在STM32中,输出方式主要有串口、JTAG、SWD和USB等;而在GD32中,则多数通过串口输出程序信息。此外,两者在调试时,也有不同的方法,例如在STM32中,调试信息是通过SWD方式传输到PC上;而在GD32中则是通过串口直接输出的。

4. 外设驱动

GD32和STM32的外设驱动也有所不同,在使用外设时需要注意。比如,在使用GPIO时,GD32需要指定端口的引脚数量和具体使用的引脚,而STM32则只需要指定端口一个参数。

5. 中断处理

在中断处理上,GD32和STM32也有所不同。GD32中的中断处理快速跳转准备工作需要通过指令进行,而STM32中的中断处理则是通过NVIC进行的。在使用时需要注意不同的编写方式和调用函数。

6. ADC/DAC

在ADC/DAC的驱动上,GD32和STM32也有所不同。在GD32中,ADC和DAC是分别独立的,需要对不同的模块进行初始化,而STM32中,则是通过一个通道来进行控制。

7. 其他

GD32和STM32在其他方面的差异还有很多,在具体的使用过程中需要根据具体的需求进行操作。

三、总结

虽然GD32和STM32在硬件上都拥有32位架构和丰富的外设,但是在具体的编程上却发现有许多的差异。这需要程序员针对具体的需求,选择合适的开发环境和合适的编写方式,以达到最好的效果。在今后的应用中,这两种芯片或许还会有更多不同的地方,我们需要不断的学习和探索,以适应市场对于硬件的不断升级和迭代的要求。

关键字:gd32  stm32 引用地址:gd32和stm32的编程区别

上一篇:ch32f103和stm32的区别
下一篇:基于STM32设计的简易手机

推荐阅读最新更新时间:2026-03-23 10:57

GD32代码移植STM32(一)
GAIWEI例子:GD32F103移植STM32F103 使用相同FLASH和管脚数量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。虽然两个款芯片的寄存器地址以及架构基本相同。但是需要注意的是GD32F10x主频是108兆,但是STM32F10x主频是72兆。所以需要针对以RCC时钟进行修改。 1.先将芯片的选项进行修改:查找对应芯片。 2.将STM32的启动文件替换成GD的启动文件。 3.修改时钟相关配置。 打开stm32f10x.h文件,#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*! Time out for HSE start up
[单片机]
<font color='red'>GD32</font>代码移植<font color='red'>STM32</font>(一)
gd32stm32哪个好?
GD32和STM32是两种常见的微控制器系列,是开发者们常用的开发板核心。尽管它们相似之处很多,但它们也存在着差异,本文将深入探讨GD32和STM32,分享它们的优缺点。 首先,我们从GD32说起。GD32是由国内的同时表示中心研发的一种基于ARM Cortex-M3 CPU的微控制器,该平台具有很高的兼容性、低功耗以及出色的性能。许多GD32产品也广泛用在电子产品、智能家居、工业控制系统和无人机开发等领域。 与此相反,STM32系列是ST公司基于Cortex-M3架构开发的高性能微控制器。STM32系列以其高速运算能力、出色的数据处理性能、广泛的官方支持和易用的硬件软件接口而著名。STM32可轻松完成各种任务,比如音频、显示以及
[单片机]
gd32stm32程序可以互用吗?
GD32和STM32是两种不同的芯片系列,相同点是都属于ARM Cortex-M系列芯片。虽然它们有相似的架构和指令集,但是由于它们来自不同的厂商,所以它们之间仍然存在一些差异。因此,GD32和STM32之间不能直接互用程序。 首先,GD32和STM32之间的主要差异在于硬件平台。GD32和STM32的硬件平台不完全相同,存在一些不同之处,例如引脚定义、时钟控制、中断控制等。这些差异会影响程序在不同硬件平台上的运行。因此,如果要实现程序互用,需要在代码中加入条件编译和适配。 其次,GD32和STM32之间的软件支持也有所不同。虽然它们都遵循ARM Cortex-M系列的指令集,但它们的官方开发环境、库文件和驱动程序可能存在差异。因
[单片机]
gd32stm32区别
gd32和stm32的区别 现在的市场上有很多种不同类型的微控制器,其中比较常见的有两种,即gd32和stm32。两种微控制器都是中国和欧洲的两个公司分别推出的,但是它们之间有很多区别,本文将会深入探讨这些区别。 1.起源和历史 gd32是中国的光弘科技公司于2014年推出的微控制器,因其与stm32在引脚兼容性上的相似之处而广受欢迎。而stm32则是欧洲的STMicroelectronics公司于2007年推出的一种微控制器系列,旨在替代8位的微处理器。 2.精度 gd32与stm32在精度方面有所不同。这是因为它们使用不同的时钟源,因此在使用定时器时,gd32的精度更高,在数码管和驱动方面表现也更好。 3.性能 stm32的性
[单片机]
GD32STM32单片机的区别
00 前言 缺料危机还在持续,MCU从国外ST替换到了国产杰发科,国产供应仍有缺口,不得已还得替换,于是又在考虑兆易创新,在选型的过程中,了解到一点区别,和大家分享一下,避免替换时遇到坑。 兆易创新GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。所以GD32和STM32有很多地方都是一样的。 不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。 相同的地方我们就不说了,下面列一下不同的地方。 01 内核 GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这
[单片机]
<font color='red'>GD32</font>和<font color='red'>STM32</font>单片机的<font color='red'>区别</font>
GD32 MCU高效控制方案,多维赋能家电全场景变频驱动
当前,国内家电行业正处于智能化与能效升级的关键转型期,随着新国标能效标准的深化落地与全屋智能互联需求的爆发,传统家电控制技术正面临从单一功能驱动向全场景智能协同的迭代挑战。在这一技术跃迁进程中, MCU作为变频驱动系统的核心控制枢纽,正以其算力升级与算法创新能力 ,成为破解家电能效优化、精准控制与场景联动等技术痛点的核心引擎。 从变频空调的精准控温到智能家电的自主决策,MCU通过集成化硬件设计与智能化控制算法的深度融合,正推动家电行业从硬件功能竞争向系统化竞争演进,成为驱动国内家电技术升级与全球竞争力提升的底层技术支柱。 从功能控制到智能互联 起源于20世纪80年代空调领域的家电变频驱动技术,正以功率半导体与控制算法的
[家用电子]
<font color='red'>GD32</font> MCU高效控制方案,多维赋能家电全场景变频驱动
GD32开发实战指南(基础篇) 第2章 初始GPIO流水灯
开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 1 GPIO工作原理 熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理。GPIO的基本结构如下图所示。 GD32 的 IO 口可以由软件配置成如下 8 种模式: 输入模式 浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。通俗讲就是让管脚什么都不接,浮空着。信号进入芯片内部后,既没有接上拉电阻也没有接下拉电阻,经由触发器输
[单片机]
GD32 MCU超频后无法再次下载程序的解决办法
我们知道,MCU的系统时钟主频就相当于人的心跳或脉搏,为所有的工作单元提供时间基数,所以一般在程序最开始的地方都需要进行主频配置。 GD32固件库中提供了多种宏定义,可以很方便的将系统时钟配置为想要的频率。 GD32固件库中所用的外部晶振配置一般为8M或25M,如果想要使用其他频率的晶振,可以参考FAQ《更改晶振后如何修改配置》。 有的小伙伴在做好PCB后,将程序下载进去发现运行异常,想要仿真查下原因时,发现下载不了程序了,这时候就要注意,是不是板子上的晶振和程序中配置的不匹配?比如程序中使用的晶振大小为8M,但板子上的是12M的晶振,结果你以为配置的是120M的主频,实际变成了180M了,这超频可太多了,当然就无法再下
[单片机]
<font color='red'>GD32</font> MCU超频后无法再次下载程序的解决办法
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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