打印
[应用相关]

ADC采集数据,全速跑和单步调试程序的结果不一样,这是什么原因呢?

[复制链接]
707|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stormwind123|  楼主 | 2025-1-17 12:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC采集数据,全速跑和单步调试程序的结果不一样,这是什么原因呢?

使用特权

评论回复
沙发
cr315| | 2025-1-17 13:40 | 只看该作者
可能是时序问题

使用特权

评论回复
板凳
elephant00| | 2025-1-17 13:40 | 只看该作者
在全速运行时,由于处理器的活动增加,电源和地线可能会受到更大的干扰。这些干扰可能通过ADC的电源引脚或模拟信号路径进入ADC,从而影响采集数据的准确性。

使用特权

评论回复
地板
elephant00| | 2025-1-17 13:40 | 只看该作者
单步调试时,由于处理器的活动减少,电源和地线的干扰可能相应减小,导致采集数据更为准确。

使用特权

评论回复
5
jcky001| | 2025-1-17 15:00 | 只看该作者
定时器中断处理不当?

使用特权

评论回复
6
两只袜子| | 2025-1-17 16:00 | 只看该作者
电磁干扰把

使用特权

评论回复
7
AutoMotor| | 2025-1-17 16:47 | 只看该作者
和硬件相关的调试都有可能会出一些问题的,以全速跑的为准

使用特权

评论回复
8
cr315| | 2025-1-17 20:00 | 只看该作者
估计是硬件连接问题

使用特权

评论回复
9
Amazingxixixi| | 2025-1-21 17:16 | 只看该作者
学习一下啊,还有好多需要学习的。

使用特权

评论回复
10
SophiaOP| | 2025-1-22 21:45 | 只看该作者
数据采集时间不同吧

使用特权

评论回复
11
公羊子丹| | 2025-1-23 10:23 | 只看该作者
单步调试的时候,代码执行得比较慢,可能引起硬件上的数据采集时序不一致,比如模拟信号的变化速度太快导致采集不到准数据。

使用特权

评论回复
12
周半梅| | 2025-1-23 10:24 | 只看该作者
你看看是不是 ADC 的时钟设置太快,全速跑的时候采样时间不足,导致采集结果有偏差。

使用特权

评论回复
13
帛灿灿| | 2025-1-23 10:26 | 只看该作者
单步调试时系统会暂停,可能引起 ADC 转换过程被打断,而全速跑的时候这种问题就没有了。

使用特权

评论回复
14
童雨竹| | 2025-1-23 10:28 | 只看该作者
确保你的模拟信号输入是稳定的,有时候单步调试会让信号有更长时间的稳定过程,而全速跑则直接连续采样。

使用特权

评论回复
15
万图| | 2025-1-23 10:30 | 只看该作者
单步调试时,GPIO 电平可能因为某些中断或者时间差异导致采样值不同,注意检查模拟输入和通道切换的同步性。

使用特权

评论回复
16
Wordsworth| | 2025-1-23 10:31 | 只看该作者
如果用 DMA 搬运数据,单步调试可能让 DMA 工作异常,导致 ADC 数据和全速跑结果不一致。

使用特权

评论回复
17
Bblythe| | 2025-1-23 10:32 | 只看该作者
看看是不是缓存或优化问题,全速跑时数据可能直接走 Cache,而单步调试时每次会从内存重新读取。

使用特权

评论回复
18
Pulitzer| | 2025-1-23 10:33 | 只看该作者
单步调试会触发调试接口的一些状态变化,比如引起系统时钟的临时调整,导致 ADC 结果不一致。

使用特权

评论回复
19
Uriah| | 2025-1-23 10:35 | 只看该作者
如果用的是多通道 ADC,切换通道时序是否正确?全速跑时切换间隔可能不足,导致采集通道错乱。

使用特权

评论回复
20
Clyde011| | 2025-1-23 10:36 | 只看该作者
建议全速跑的时候把 ADC 的结果输出到串口或者存到数组里,再对比单步调试的结果,定位具体差异。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

537

主题

3234

帖子

3

粉丝