当前位置: 首页 > news >正文

GD32C103RBT6 ADC库驱动代码详解

一、概述

 GD32C103RBT6单片机内置2个12位逐次逼近型ADC(ADC0、ADC1),支持单端/差分输入、连续/单次转换、扫描模式、间断模式等多种工作方式,同时集成温度传感器和内部参考电压(Vrefint)采集功能,最高采样率可达1Msps,能满足大部分中低速采样场景(如电压采集、传感器数据读取等)。

本文提供的ADC驱动代码基于官方固件库V1.0.0开发,适配GD32C103RBT6的ADC外设,包含所有核心功能(初始化、通道配置、采样触发、数据读取、校准、中断、DMA等),代码可直接复制到工程中使用,无需大幅修改,下文将按“概述-函数介绍-使用案例”的结构,详细说明驱动的使用方法,帮助开发者快速上手。

二、核心函数介绍

ADC驱动核心函数按功能分类,涵盖初始化、配置、操作、状态查询四大类,以下是最常用、最核心的函数详解,结合GD32C103RBT6的特性说明,新手可重点关注标注“常用”的函数。

(一)基础初始化函数

  • void adc_deinit(uint32_t adc_periph)

  • 功能:复位指定的ADC外设(ADC0或ADC1),恢复默认配置,是ADC初始化的第一步。

  • 参数:adc_periph - 需复位的ADC外设(ADC0、ADC1)。

  • 说明:每次上电或ADC配置异常时,建议先调用此函数复位。

  • void adc_mode_config(uint32_t mode)(常用)

  • 功能:配置ADC的工作模式,主要用于设置多ADC协同工作方式。

  • 参数:mode - 工作模式,单ADC使用时默认选择ADC_MODE_FREE(所有ADC独立工作),多ADC协同使用时按需选择组合模式。

  • 说明:GD32C103RBT6支持双ADC组合模式,单通道采样场景无需修改,直接使用默认模式即可。

  • void adc_data_alignment_config(uint32_t adc_periph, uint32_t data_alignment)(常用)

  • 功能:配置ADC采样数据的对齐方式,决定12位采样数据在寄存器中的存储位置。

  • 参数:adc_periph - 目标ADC外设;data_alignment - 对齐方式(ADC_DATAALIGN_RIGHT:右对齐,常用;ADC_DATAALIGN_LEFT:左对齐)。

  • 说明:12位分辨率下,右对齐时数据存于寄存器低12位,读取后可直接用于计算,推荐优先使用。

  • void adc_resolution_config(uint32_t adc_periph, uint32_t resolution)(常用)

  • 功能:配置ADC的采样分辨率,权衡采样精度与速度。

  • 参数:adc_periph - 目标ADC外设;resolution - 分辨率(ADC_RESOLUTION_12B:12位,精度最高;10B/8B/6B:精度降低,速度提升)。

  • 说明:常规场景优先选择12位分辨率,满足大部分精度需求。

  • void adc_enable(uint32_t adc_periph)(常用)

  • 功能:使能指定的ADC外设,ADC必须使能后才能进行校准和采样。

  • 参数:adc_periph - 目标ADC外设(ADC0、ADC1)。

  • void adc_calibration_enable

http://www.jsqmd.com/news/801046/

相关文章:

  • 告别混乱搜索:一文搞懂Quartus前仿真的两种玩法(Modelsim调用 vs VWF内嵌)
  • 构建职业智能中心:用Git与AI打造结构化职业发展系统
  • AI代码管理工具claude-code-manager:解决Claude生成代码的整合难题
  • 半导体制造可持续转型:数据驱动、绿色技术与循环设计实践
  • 放心API和4SAPI怎么选?从开发者选型角度看差异
  • ARMv8-A A64指令集:符号扩展与位操作指令详解
  • OpenSpeedy 终极指南:免费开源游戏加速工具完整使用教程
  • YOLO11部署优化:端侧设备落地 | YOLO11 NCNN C++部署全流程解析,将YOLO塞进Android/树莓派等边缘算力设备
  • 智能视频PPT提取方法:实现自动化内容归档的完整策略
  • 前端开发者福音:用Vue.js开发的Beekeeper Studio,如何让SQL开发体验更‘现代’?
  • WarcraftHelper:魔兽争霸III终极兼容性修复工具,5大核心功能全面优化游戏体验
  • WarcraftHelper终极指南:5大核心功能彻底解决魔兽争霸III兼容性问题
  • 终极游戏模组管理器:XXMI启动器完整使用指南,轻松管理多个热门游戏模组
  • 深入Linux网络栈:当虚拟机网络中断时,如何像侦探一样解读‘transmit queue timed out‘内核警告
  • 工程师如何创作技术幽默:从EE Life配文竞赛看幽默在技术社区的价值
  • 为什么头部AIGC平台已悄悄上线TEE推理服务?:2026奇点大会未公开议程泄露的3个商用案例(含金融风控/政务大模型/跨境AI训练)
  • ARM服务器十年发展:从生态壁垒到云原生突破的实战启示
  • Zotero插件市场:一站式插件管理终极指南,让文献管理效率翻倍![特殊字符]
  • 从手机摄像头到专业相机:Bayer滤光片如何决定了你拍出的每一张照片?
  • Windows 10下搞定GOT-10k数据集:从下载到Python Toolkit配置的保姆级避坑指南
  • AI智能体技能进度管理工具pua:可视化追踪与量化评估实践
  • JS 中的“空”之双雄:null vs undefined
  • Substance Painter入门:从模型到贴图的核心工作流解析
  • 有实力的留学申请专业机构口碑怎么样? - 工业品牌热点
  • 智能语音助手边界困境:从便利工具到隐私挑战的演进与应对
  • 基于Diffusion模型的AI合成器音色克隆:从原理到工程实践
  • 还在为百度网盘提取码发愁?3秒智能获取工具让你告别繁琐搜索
  • 06 - rocrtst 性能测试详解
  • 重庆迅灵 AI 代理选购指南,哪个口碑好? - 工业品牌热点
  • 芯片设计成本飙升的深层逻辑与一线工程师的破局之道