GD32替换STM32导致ADC卡顿问题解析

一、问题现象

由于前面STM32f103c8t6缺货,项目上的单片机临时替换为GD32,但是库函数什么的用的还是STM32的。项目中使用了ADC+DMA对氧气传感器进行采样,后来发现氧浓度在80%时,氧浓度会出现偶尔卡顿十几秒的情况,但是在90%,50%浓度测试就没有这个问题。

二、问题解决

网上搜索类似问题,发现有网友提到是GD32 ADC设计缺陷导致,将ADC时钟频率调低(即预分频改为DIV8)问题就解决了。经过测试问题确实得到了解决。

参考链接https://blog.csdn.net/world9999/article/details/131880773

三、问题原因分析

根据资料https://blog.csdn.net/zhoucheng97/article/details/105887153所述,STM32的ADC转换时钟不能大于14MHz。STM32F103c8t6最高时钟频率为72MHz,而GD32为108MHz。

72MHz进行6分频小于14MHz,而108MHz进行6分频大于14MHz,进行8分频之后就满足小于14MHz。

据此猜测,大概率是由于GD32的速度比STM32高,而两者内核又是一样的,从而导致了这个问题。

相关推荐
糖糖单片机设计6 小时前
基于 STM32 与中移 OneNet 的智慧电梯监控平台系统
stm32·单片机·嵌入式硬件·51单片机·语音识别
创界工坊工作室9 小时前
55-基于STC89C52宠物智能饲喂控制系统设计
stm32·单片机·嵌入式硬件·51单片机·proteus·宠物
极客 - L U12 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
AMASENSYS艾马斯13 小时前
变频器滤波器选型与EMC合规建议
驱动开发·单片机·其他·硬件工程·精益工程
Zw-awa15 小时前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
stm32
凯基迪科技16 小时前
STM32G系列(G0/G4)芯片解密程序提取RDP读保护解析
网络·stm32·安全
2501_9226395816 小时前
率能半导体 SS6628E直流双向马达驱动芯片:20V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
硅基造物主17 小时前
STM32 从 0 到 1 做智能家居(五):工程结构与代码骨架
stm32·单片机·嵌入式硬件·智能家居
深圳老胡17 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节
smartpi_ai17 小时前
机芯智能离线语音模块实战问答:SU-03T、CI-03T、SU-63T 与 JX-A7T 高频问题排查
人工智能·单片机·嵌入式硬件·ci/cd·语音识别