GD32E50x系列ADC-DMA首次转换错位

GD32E50X新建keil工程,模板工程 GD32E50x新建工程教程,keil模板工程 阅读详情

原因是在首次启动DM A转换时,已经产生了一次EOC标志,导致DMA cnt寄存器次数减1,下一次转换的目标地址向后偏移一个。那为什么会产生EOC标志呢?逐步排查后发现是adc_special_function_config这个函数在初始化时重复调用了两次导致,应该是芯片缺陷吧。

用GD32F130的DMA+ADC搞定9路NTC温度采集,附完整代码和配置避坑点 本文详细介绍了如何使用GD32F130的DMA+ADC实现9路NTC温度采集,涵盖硬件设计、软件滤波及配置避坑点。通过优化DMA-ADC协同工作机制和滤波算法,提升测温精度与效率,适用于智能温控设备开发。 阅读详情

相关推荐

pyb.Timer()硬件定时原理与GD32时钟精度调优

定时器是嵌入式系统实现精确时序控制的核心外设,其本质是基于APB总线时钟驱动的计数器模块,通过预分频器(Prescaler)和自动重装载寄存器(ARR)协同决定输出频率。硬件定时器区别于软件延时的关键在于中断触发机制与寄存器级直控能力,可支撑PWM生成、ADC同步采样、编码器计数等实时任务。在MicroPython生态中,pyb.Timer()并非简单封装,而是深度绑定GD32F405/GD32F407芯片定时器寄存器,其实际频率严格依赖SystemCoreClock与HSE_VALUE配置一致性。常见‘t

weixin_33831196的博客 458

STM32的ADC+DMA多通道转换的时候数据错位的解决方法。

(一)问题描述: 目前一个项目中,需要采集两路ADC的信号。为了使采集的信号稳定,笔者采用多次采集求取平均值,再加其他软件滤波方式。所以使用了ADC的循环采集和DMA传输。 想要达到的效果: 两路ADC个采集64个(2路总共128个)数据,然后使用DMA传输完成,触发中断。停止采集,等待数据处理完后再启动下一次采集。 实际效果: 采集完这128个数据,且DMA传输完成后,进入了中断。等我...

mc_li的博客 1万+

嵌入式信号链实战:ADC轮询、DMA多通道与DAC闭环设计

ADC、DMA和DAC是嵌入式系统中模拟信号采集与控制的核心技术组合,其本质构成一条从感知到执行的完整信号链。理解ADC采样时序与参考电压稳定性,掌握DMA在多通道同步采集中的确定性搬运机制,以及解决DAC输出驱动能力、建立时间与噪声耦合等实际问题,直接决定工业级数据可信度与控制精度。这些技术广泛应用于电机控制、温度监测、音频处理及闭环PID系统等场景,尤其在STM32、GD32、S32K等主流MCU平台上,需兼顾硬件约束、PCB布局与实时性要求。本文聚焦真实工程痛点,如轮询抖动、DMA错位、DAC振荡等高

weixin_30780649的博客 331

GD32F303调试小记(五)之ADC+DMA+硬件过采样

前言 单片机的大多数的功能都是基于数字信号去控制的。然而许多的场合下,我们也需要有模拟信号的参与,因为许多变量的控制是需要连续的而非阶跃式的。常见的若想得到电压值、温度值、电流值等等都需要用到A/D转换(如果外围器件不是特定IC而是自己搭的采集电路的话),而想输出模拟信号通常可以使用D/A转换或者PWM+外围一级或多级RC滤波实现。 ...

欢喜6666的博客 1万+

ADC实战指南:从原理选型到PCB布局与滤波优化

ADC(模数转换器)是连接物理世界与数字系统的桥梁,其核心在于将连续模拟信号精确转化为离散数字量。理解SAR、Sigma-Delta和Flash等架构差异,有助于根据采样率、精度与延迟需求合理选型;而信噪比(SNR)、有效位数(ENOB)和电源抑制比(PSRR)等指标,直接决定实际可用精度,远非标称位数所能体现。在嵌入式系统中,ADC性能高度依赖硬件设计——参考电压稳定性、模拟/数字地分割、去耦电容布局及前端运放调理,共同构成低噪声采集链路;软件层面则需兼顾触发方式、DMA双缓冲配置与轻量级滤波算法(如II

weixin_34151004的博客 408

ADC Offset误差全解析:来源、测量、校准与工程实战

在模拟信号采集与嵌入式系统设计中,ADC的转换精度直接影响系统测量准确性。当输入为零时,ADC输出非零码值,这种偏置误差(Offset Error)就是导致数据偏差的常见根源。其产生源于内部比较器失调、电荷注入以及前端电路阻抗失配,会压缩有效位宽,拉低信噪比。通过最小二乘拟合与两点校准等手段,可有效补偿静态偏移;而动态校准则能应对温漂。在STM32多通道DMA采集等工程场景中,掌握Offset的测量与校准方法,是保证高精度测量、工业仪表和传感器信号链可靠工作的关键。本文结合实测数据与代码,系统梳理了ADC

weixin_29176179的博客 248

ADC 多通道DMA连续采集 数据错位问题

ADC循环转换,DMA单次传输(传输指定的数据量,触发中断会就不再启动DMA传输了)。 在使用的时候,先使用HAL_ADC_Start_DMA();函数去开启ADC转和DMA的单次传输。 当DMA传输完成后,因为是单次转换,如需继续转换,那么还需要使用HAL_ADC_Start_DMA();再次开启传输才行。这里就会有一个问题,DMA传输的确是停止了,但是ADC是循环转换,ADC仍然在转换,当我处理完数据以后使用HAL_ADC_Start_DMA();再次开启传输时候,这个时候对应ADC转换完成的数据,

qq_22418105的博客 2740

i.MX6ULL SPI实战:六线时序、DTS配置与裸机驱动避坑指南

SPI(串行外设接口)是一种广泛应用的同步串行通信协议,其核心原理依赖于时钟极性(CPOL)、相位(CPHA)及片选控制等关键参数。在嵌入式系统中,SPI的稳定性和可靠性不仅取决于协议理解,更受硬件设计约束、寄存器级时序精度和Linux设备树(DTS)配置质量的深度影响。尤其在i.MX6ULL这类Cortex-A7平台,原生SPI控制器虽支持多模式,但READY/HOLD等六线信号缺失、CS映射错位、分频偏差、DMA缓存不一致等问题极易引发通信丢包、Flash锁死或OLED乱码等工程故障。本文聚焦i.MX6

weixin_30439067的博客 423

GD32E230 ADC+DMA实战:关闭连续转换模式,解决FLASH编程时的数据错位问题

本文详细分析了GD32E230系列MCU在ADC+DMA模式下与FLASH编程操作冲突导致数据错位的问题,提出了关闭连续转换模式的解决方案。通过实测数据对比,验证了单次触发模式在消除数据错位、提高系统性能方面的有效性,并提供了工程实践中的优化建议和兼容性分析。

weixin_29189003的博客 394

【信息科学与工程学】计算机科学与自动化——第一百八十九篇 计算机硬件 系列一 微处理器01

在金融行业CDN流推送场景中,结合WebRTC over SD-RTN与SD-WAN Branch方案,需兼顾​​要求。

weixin_49199313的博客 1058

兆易创新单片机MCU,GD32E50x国产替换ST,兆易创新GD32选型插件keil / IAR

兆易创新GD32选型插件keil / IAR,直接下载安装到keil或者IAR中就可以了。

GD32E230实战:5个ADC通道+DMA循环采集,代码直接抄(附避坑点)

本文详细介绍了GD32E230微控制器在DMA循环模式下实现5个ADC通道高效采集的实战方法。通过完整的代码示例和硬件配置指南,帮助开发者快速搭建多通道采集系统,并重点解析了数据错位、采样不稳定等常见问题的解决方案,提升嵌入式系统开发效率。

weixin_42713608的博客 188

差分信号_差分信号的原理及其在PCB的设计

差分线是 PCB 设计中非常重要的一部分信号线,信号处理要求也是相当严谨,今天为大家介绍下差分信号的原理以及其在 PCB 设计中的处理方法。 什么是差分信号 差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相等,相位相差 180 度,极性相反。在这两根线上传输的信号就是差分...

weixin_31849185的博客 1812

嵌入式ADC-DMA-DAC闭环协同设计与调试

ADC、DMA和DAC是嵌入式模拟信号链路的三大核心外设,其本质并非孤立功能模块,而是构成时序耦合、资源共享、状态联动的闭环子系统。理解ADC采样时序约束、DMA内存带宽调度机制及DAC建立时间与触发同步原理,是保障高精度数据采集与实时控制的基础。该技术组合广泛应用于工业信号调理、传感器融合、闭环伺服驱动等场景,尤其在GD32/STM32等主流MCU平台上,需兼顾寄存器级配置细节、PCB布局约束与温度/噪声等物理域影响。本文聚焦真实工程中ADC轮询调试标定、DMA多通道缓冲区对齐、DAC硬件触发同步等关键实

weixin_33788244的博客 423

【HCIA学习记录】WLAN配置实验

HCIA-WLAN

寸先生的AI道路 3874

用STM32F103C8T6和TB6612驱动模块,从零搭建一辆能避障循迹的智能小车(附完整代码)

本文详细介绍了如何使用STM32F103C8T6和TB6612驱动模块从零搭建一辆能避障循迹的智能小车。内容涵盖硬件选型、电路设计、底层驱动配置以及智能行为算法实现,并附有完整代码示例,帮助开发者快速掌握嵌入式开发的核心技术。

weixin_42641741的博客 446

GD32F103 DMA实战:从原理到高效数据搬运

本文深入解析GD32F103的DMA技术原理与实战应用,涵盖存储器到存储器传输、ADC采样配合等核心场景。通过具体案例展示如何配置DMA通道、优化传输效率及排查常见问题,帮助开发者实现高效数据搬运,显著提升系统性能。重点介绍了GD32F103的DMA控制器特性与实用技巧。

weixin_30376083的博客 436

【即插即用模块】注意力篇 | ECCV 2024 | DPB:高低频动态分离+双提示融合,PSNR直冲40+!

本文提出了一种基于频率提示的图像恢复方法FPro,通过动态滤波器分离输入特征的高低频分量,并采用双提示块(DPB)进行频域专属提示生成与调制。DPB包含低频提示调制器(LPM)和高频提示调制器(HPM),分别处理不同频段信号,通过生成提示组件并融合解码器特征来优化恢复效果。实验表明,该方法在U型结构中表现优异,尤其适用于分割、底层视觉和多模态任务。模块通过动态无监督频率分离、频域专属提示生成和适配性融合机制,有效解决了传统方法对频域信息关注不足的问题,显著提升了图像恢复质量。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 148

双MCU架构:破解模拟采集与控制任务相互干扰的实战方案

在嵌入式系统开发中,ADC采样值抖动、控制周期偶发卡顿等问题时常困扰工程师,其根源往往并非芯片参数不足,而是模拟采集、实时控制与通信任务被强行塞入同一颗MCU所致。SAR型ADC对采样时刻稳定性和参考电压纯净度极为敏感,数字噪声与中断延迟会显著降低有效位数。采用双MCU分工——一颗专管模拟采集与信号处理,另一颗负责控制算法与通信交互——可从根本上实现时序解耦、故障隔离,并大幅简化调试流程。该架构尤其适用于电机控制、工业仪表等多路模拟采集场景,能有效提升系统精度与稳定性。本文以实际项目为背景,详细讲解双MCU

weixin_34238633的博客 654

BMS控制板硬件设计核心要点与工程避坑指南

电池管理系统(BMS)硬件设计是保障锂电安全与寿命的关键环节,其本质是模拟前端精度、数字控制可靠性、电源完整性及电磁兼容性四大要素的系统协同。理解AFE芯片(如BQ76920)的物理层约束、MCU与专用监控IC的异构分工逻辑,是构建高鲁棒BMS的基础;而晶振布局、I²C总线匹配、MOSFET体二极管方向、开尔文采样等细节,直接决定量产良率与EMC合规性。在电动工具、储能系统、两轮电动车等中低功耗BMS应用中,成本敏感型方案常采用STM32F0+AFE架构,此时电源滤波电容选型、复位电路ESR控制、TVS/齐

weixin_30591519的博客 261

YOLOv8损失函数改进大全:从IoU到FocusIoU的20+种变体全解析(附完整适配代码+性能对比)

目标检测边界框损失函数演进与优化 摘要:边界框损失函数是目标检测模型定位精度的关键因素。本文系统分析了从基础IoU到最新FocusIoU的20余种损失函数的演进历程,包括四代主要技术:基于重叠区域的IoU/GIoU,结合距离度量的DIoU/CIoU,优化形状匹配的EIoU/RIoU,以及考虑方向性的SIoU/WIoU/FocusIoU。针对YOLOv8模型,提供了完整的损失函数实现代码和替换方案,实验表明优化后的损失函数在复杂场景下可提升mAP@0.5达3.2%。文章特别对比了不同损失在小目标、遮挡和密集场

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 996

ARM平台音频DSP开发实战:从仿真到量产,一套Lab-in-a-Box方案全解

数字信号处理(DSP)技术在嵌入式音频系统中扮演着核心角色,然而算法在PC仿真环境中的理想表现,往往与ARM真实硬件上的运行结果存在显著差距。从浮点模型到定点实现,从I2S时钟配置到DMA缓冲管理,嵌入式开发中的每一个底层细节都可能成为压垮系统实时性的最后一根稻草。CMSIS-DSP库的合理运用,配合标准化的硬件平台与系统化的调试工具,能够帮助开发者构建一套可复现、可量测的音频开发环境。这种工程化思路不仅适用于车载免提、智能音箱等场景,也为多通道降噪、回声消除等复杂音频算法提供了从原型验证到性能调优的完整路

weixin_34127717的博客 422

枚举 ACS 电机状态位 完全解析

本文解析了ACS运动控制器SDK中的MotorStates枚举,该枚举对应控制器状态标志位?MFLAGS。主要介绍了6个核心状态:ACSC_ALL(-1)表示所有轴,ACSC_NONE(0)为空闲状态,ACSC_MST_ENABLE(1)为轴使能,ACSC_MST_INPOS(16)表示到位,ACSC_MST_MOVE(32)为运动中,ACSC_MST_ACC(64)为加速中。文章还补充了完整的枚举定义,包含报警、回零等状态,并提供了在晶圆AOI4轴运动中的典型应用场景,如判断轴状态、运动条件等。最后强调只

StevenChen的博客 247

SPI通信协议详解:从原理到实战,嵌入式开发必懂

串行外设接口(SPI)是一种同步、全双工的串行通信协议,广泛应用于嵌入式系统与传感器、存储器、显示屏等外设的连接。其核心原理基于主从架构,通过时钟信号同步数据交换,支持高速传输,特别适合板级短距离通信。SPI的技术价值在于其简单高效的硬件接口设计,通过四线制(SCLK、MOSI、MISO、CS)实现点对点或一点对多点的通信,避免了复杂的协议开销。在应用场景上,SPI常用于驱动SPI Flash存储器、TFT显示屏以及高精度传感器如ICM-20948,满足不同设备对速度和稳定性的需求。理解SPI的时钟极性(C

weixin_30835649的博客 350

MATLAB 基于深度学习的步态识别算法仿真

步态识别是一种通过分析人体行走方式来识别身份的技术。基于深度学习的步态识别算法利用卷积神经网络 (CNN) 提取步态特征,并通过分类器进行身份识别。基于深度学习的步态识别算法是实现身份识别的重要手段,具有广泛的应用前景。MATLAB 提供了丰富的工具和函数,可以方便地进行算法仿真和性能评估。

走向CTO的路上... 518

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

带硬件触摸的ARM MCU如何搞定HMI与LIN应用

在嵌入式人机交互(HMI)开发中,触摸检测的实现方式经历了从纯软件扫描到专用硬件外设的演变。早期依赖GPIO模拟RC充放电的方案,在面临环境温漂、水膜干扰、低功耗唤醒和电磁兼容等挑战时往往力不从心。随着ARM MCU内部集成电容触摸检测单元,设计者能够以极低的CPU占用率获得稳定的触摸采样,并借助硬件级的低功耗唤醒机制,显著提升车载面板、智能家电和工业按键的响应速度与可靠性。这类MCU通常还集成LIN总线控制器,使得触摸事件到LIN报文的处理链路更短、实时性更强。本文从选型参数、PCB布局、灵敏度调校到软件

weixin_34082789的博客 433

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: GD32e50x系列PB4无法输出pwm
下一篇: import mysql.connector错误
blacksharpsss
博客等级 码龄9年 46粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值