【兆易创新】单片机GD32F103C8T6系列入门资料


GD32F103xx 系列器件是一款基于ARM Cortex-M3 RISC内核的32位通用微控制器,在处理能力、降低功耗和外设方面具有超优的性价比。Cortex-M3是下一代处理器核心,它与嵌套矢量中断控制器(NVIC), SysTick计时器和高级调试支持紧密耦合。

GD32F103xx系列器件采用ARM Cortex-M3 32位处理器内核,工作频率为108 MHz,Flash访问零等待状态,以获得最高效率。它提供了高达3 MB的片上闪存和高达96 KB的SRAM内存。广泛的增强型I/O和外设连接到两个APB总线。这些器件提供多达三个12位ADC,多达两个12位DAC,多达十个通用16位定时器,两个基本定时器和两个PWM高级控制定时器,以及标准和高级通信接口:多达三个SPI,两个I2C,三个USART,两个UART,两个I2S,一个USB 2.0 FS,一个CAN和一个SDIO。

该器件在工作电压为2.6 V 至3.6 V,温度范围为-40°C至+85°C下工作。几种节能模式为唤醒延迟和功耗之间的最大优化提供了灵活性,这在低功耗应用中是一个特别重要的考虑因素。

以上特点使GD32F103xx器件适用于广泛的应用,特别是在工业控制、电机驱动、电源监控和报警系统、消费和手持设备、POS、车载GPS、视频对讲、PC外设等领域。


GD32 库函数 轻量级封装,直接操作寄存器,追求效率,扁平化结构,减少层级依赖。但移植成本高,兼容性差。STM32 项目迁移需重写时钟配置、中断处理等。

GD32 的差异化路线

  • GD32 使用更高主频的内核(如 Cortex-M3@108MHz vs STM32F3@72MHz),优化了流水线和闪存加速器。

  • 外设寄存器地址和时序与 STM32 存在差异(如 GPIO 配置寄存器偏移量不同)。

  • 独立 SDK 框架:GD32 提供自主开发的固件库(如 gd32fxxx_libopt.h),虽然 API 风格模仿 ST(如 gpio_init()),但内部实现和文件结构已重构。

  • 规避法律风险:避免直接使用 ST 的代码,通过重写实现类似接口(如将 HAL_GPIO_WritePin() 改为 gpio_bit_write())。

  • 性能优化:针对自身硬件调整驱动逻辑(如时钟树配置、延迟函数)。

“既然 GD32 和 STM32 的芯片寄存器结构几乎一样,是否可以在 STM32 平台上开发,生成 hex/bin 文件,直接烧录到 GD32 上运行量产?”


在这里插入图片描述

在这里插入图片描述


GD32芯片包下载和安装教程

https://www.keil.arm.com/devices/

在这里插入图片描述


GD32F103C8T6 资源详情

资源类型参数值说明
型号GD32F103C8T6LQFP48封装
内核Cortex®-M3108MHz主频
存储
- 闪存容量64K64KB程序存储器
- SRAM容量20K20KB运行内存
I/O数量up to 37最大37个可用GPIO
定时器
- 通用定时器(16位)3支持PWM/输入捕获等
- 高级定时器(16位)1带死区控制的电机控制定时器
- 系统滴答定时器(24位)1用于操作系统时基
通信接口
- USART/UART总数3+03个USART(支持同步模式)
- I2C接口2支持SMBus/PMBus
- SPI接口2支持主从模式
- CAN 2.0B1支持标准帧和扩展帧
- USB 2.01全速12Mbps设备接口
外设
- 看门狗2独立+窗口看门狗
- 实时时钟(RTC)1带日历和闹钟功能
- SDIO接口0+AE8:AK8特殊功能配置(详见数据手册)
模拟资源
- 12位ADC2单元(10通道)最高1MHz采样率
其他
- 工作电压2.6-3.6V典型3.3V供电
- 封装尺寸7×7mmLQFP48引脚间距0.5mm
- 发布日期2025-06-04量产时间

💡 关键特点总结
该型号主打高性价比通信控制,亮点在于:

  1. 集成3×USART + 2×SPI + 2×I2C + CAN的多协议通信矩阵
  2. 配备10通道12位ADC满足基础采集需求
  3. 64KB Flash + 20KB SRAM适合中等复杂度应用
  4. LQFP48封装节省PCB空间,适合紧凑型设计

编译报错

在这里插入图片描述

Rebuild started: Project: Project
*** Target 'GD32F10X_CL' uses ARM-Compiler 'V5.06 update 6 (build 750)' which is not available.
*** Please review the installed ARM Compiler Versions:'Manage Project Items - Folders/Extensions' to manage ARM Compiler Versions.'Options for Target - Target' to select an ARM Compiler Version for the target.
*** Rebuild aborted.
Build Time Elapsed:  00:00:00

报错原因

在这里插入图片描述

中密度产品GD32F10X_MD) 是指 FLASH 存储器容量在16 KB128 KB 的 GD32F101xx 和 GD32F103xx 微控制器。
高密度产品GD32F10X_HD) 是指 FLASH 存储器容量在 256KB512KB 的 GD32F101xx 和 GD32F103xx 微控制器。
超高密度产品GD32F10X_XD)是指FLASH存储器容量在 512KB 以上 的GD32F101xx 和 GD32F103xx 微控制器。

互联型产品GD32F10X_CL) 是指产品是指GD32F105xxGD32F107xx 微控制器。

解决办法

在这里插入图片描述

所以 GD32F103C8T6 处于 MD 的产品,点击 [Options of Target ]在 C/C++ 选项里面将 Define GD32F10X_CL 改为 GD32F10X_MD


资料下载

  • [1] GD32F103CBT6

  • [2] [兆易创新]GD32F103C8T6技术文档在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94127.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效轻量的C++ HTTP服务:cpp-httplib使用指南

文章目录httplib介绍与安装使用案例httplib介绍与安装 C HTTP 库(cpp-httplib)是一个轻量级的 C HTTP 客户端/服务器库,它提供了简单的 API 来创建 HTTP 服务器和客户端,支持同步和异步操作。以下是一些关于cpp-httplib 的主要特…

24 SAP CPI 调用SAP HTTP接口

SAP CPI 访问SAP接口一般用RFC或者HTTP,个人在项目中两种方法都用过,最后还是倾向于HTTP的方式,此方式易于维护,统一管理,接口搭建比较方便。 读者朋友可网上自行搜索"SAP 发布HTTP接口",SAP CPI调用SAP发布的HTTP接口。 配置CPI接口前,需要将CPI的证书导入…

C/C++常用字符串函数

一、字符串函数介绍: 字符串作为程序中常用的数据类型,学会对字符串进行处理是作为一名C/C程序员的基本功,我们要学会使用相关函数,并且对重点函数要会自己手动实现(下文对重点函数有实现代码以及相关示例&#xff09…

YOLO的Python实现以及 OpenCV

YOLO的Python实现以及 OpenCV Darknet 实现 YOLO 从头开始开发 YOLO模型不容易,所以我们要使用预训练模型在项目里进行目 标检测。你可以在 https://pjreddie.com里到所有可用的预训练模型。这是 Joseph C. Redmon的主页,他是 Darknet的维护者。 注意 …

译|Netflix 数据平台运营中基于机器学习自动修复系统

来自上传文件中的文章《Evolving from Rule-based Classifier: Machine Learning Powered Auto Remediation in Netflix Data Platform》 本文介绍了Netflix如何将基于规则的错误分类器与机器学习服务集成,实现Spark作业失败的自动修复。技术亮点包括结合规则和ML智…

PAES算法求解 ZDT1 双目标优化问题

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

逻辑回归的应用

一参数逻辑回归参数及多分类策略等完整解析LogisticRegression 初始参数声明LogisticRegression(penaltyl2, dualFalse, tol0.0001, C1.0, fit_interceptTrue, intercept_scaling1, class_weightNone, random_stateNone, solverliblinear, max_iter100, multi_classovr, verbos…

C语言(长期更新)第7讲:VS实用调试技巧

C语言(长期更新) 第7讲 VS实用调试技巧 跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力。 目录 C语言(长期更新) 第7讲 …

CONTRASTIVE-KAN:一种用于稀缺标记数据的网络安全半监督入侵检测框架

研究背景与挑战​ ​工业环境需求​: 第四次工业革命中,物联网(IoT)和工业物联网(IIoT)的普及使网络安全成为关键挑战。 入侵检测系统需实时性高,尤其对关键基础设施(如燃气管道)的快速攻击检测至关重要。 ​核心问题​: ​标签数据稀缺​:工业系统多数时间处于正常…

综合:单臂路由+三层交换技术+telnet配置+DHCP

技术考核1 实验拓扑:实验需求 1.按照图示配置IP地址设备名 2.在SW1和SW2之间配置链路聚合增加链路带宽,提高可靠性 3.PC5和PC6属于VLAN10, PC7和PC8属于VLAN20 4.SW1和SW2属于二层交换机,SW3为三层交换机(VLAN100用于对…

工业火焰识别漏报率↓78%!陌讯多模态融合算法实战解析

原创声明:本文技术方案解析基于陌讯技术白皮书2025版 标签:#陌讯视觉算法 #火焰识别优化 #工业安全监控 #边缘计算优化一、行业痛点:工业火灾监控的漏检危机据《2025工业安全白皮书》统计,化工场景传统火焰识别系统漏报率高达35%&…

C++引用:高效安全的别名机制详解

目录 一、引用的概念 二、引用的特性 1、定义时必须初始化 2、一个变量可以有多个引用 3、引用一旦绑定实体就不能更改 三、const引用(常引用) 1、const引用的基本特性 2、临时对象与const引用 3、临时对象的特性 4、const 引用作为函数形参 …

大语言模型API付费?

下面是目前主流 大语言模型 API 的付费情况总览: 🧠 一、主要大语言模型 API:是否付费对比 提供方模型是否免费限制 / 说明OpenAIGPT-3.5 / GPT-4 / GPT-4o❌ 付费为主有免费额度(如 ChatGPT 免费版),API …

巧用Wisdom SSH:容器化运维与传统运维的抉择

巧用Wisdom SSH:容器化运维与传统运维的抉择 在当下的技术领域,容器化运维与传统运维是运维人员面临的两大主要方向,对于从业者来说,如何抉择至关重要,而Wisdom SSH在其中能发挥显著作用。 传统运维:基石…

API征服者:Python抓取星链卫星实时轨迹

API征服者:Python抓取星链卫星实时轨迹从基础调用到工业级卫星追踪系统实战指南一、太空数据时代:星链卫星的全球覆盖​​星链卫星网络规模​​:已发射卫星数量:4,000目标卫星总数:42,000轨道高度:340km - …

《深潜React列表渲染:调和算法与虚拟DOM Diff的优化深解》

当用户在内容平台无限滑动,或是在管理系统中处理成百上千条数据时,每一次无卡顿的交互,都是调和算法与虚拟DOM Diff机制协同工作的成果。理解这两者的底层逻辑,不仅是性能优化的钥匙,更是从“使用框架”到“理解框架”…

自动化与配置管理工具 ——Ansible

一、Ansible 概述1.1 核心特性Ansible 是一款开源的自动化运维工具,采用无代理(Agentless)架构,通过 SSH 协议实现对远程节点的管理。其核心特性包括:无代理架构:被管理节点无需安装代理软件,降…

Effective C++ 条款18:让接口容易被正确使用,不易被误用

Effective C 条款18:让接口容易被正确使用,不易被误用核心思想:设计接口时,应使正确使用方式直观自然,同时通过类型系统、行为约束等手段主动预防常见错误,减少用户犯错的可能性。 ⚠️ 1. 接口误用的常见陷…

nodejs读写文件

1.读文件 node有很多模块,可在node模块查看相应模块; var fsrequire(fs)fs.readFile(./src/a.doc,utf8,function(err,data){// 如果发生错误,data是undefined 如果成功 err为null console.log(err); console.log(data); }) 2.写文件 var…

ConcurrentHashMapRedis实现二级缓存

1. 为什么使用ConcurrentHashMap?在Java中,ConcurrentHashMap 是一个线程安全且高效的哈希表实现,广泛用于高并发场景。将其用作一级缓存的原因主要包括以下几点:1.1. 线程安全性ConcurrentHashMap 是线程安全的,支持多…