STM32 ADC:让它以"高速"运行还是尽可能关闭?



我使用的G0有一个ADC和8个通道。工作良好。我使用4个频道。一个是不断测量的温度,我对每60秒的温度感兴趣。另一个几乎相反:它每天测量几分钟的声波,我需要10kHz的样本。

我通过让所有4个通道以10kHz采样来解决这个问题,并通过DMA将四个读数移动到内存中(长度为4的阵列,每个阵列有一个测量值(。每60秒我测量一次温度,当我需要音频时,我会检索音频值。

如果我有两个ADC,我会每60秒启动一次温度ADC读数。不停。我每天只会在需要的几分钟内启动音频ADC。但有了一个ADC解决方案,让所有转换都以如此高的速度连续运行似乎很简单,这就提出了我的问题:每秒40.000次、每天24小时的转换真的有缺点吗?如果没有,代码很简单。我只是一直都有记忆中最新的值。但也许我毁了芯片?我知道我用的能量太多了。但在这种情况下有很多。

你不会"磨损它";在不需要的时候运行它。

主要问题是浪费电源和RAM。

如果你有足够的这些,那么较小的问题是:

浪费的电力将变成热量,这可能会打乱你的温度测量(尽管这是一个非常小的量(。

运行DMA会增加中断延迟,如果处理器遇到总线争用,可能还会稍微减慢处理器的速度(只有在这些方面接近容量时,这才重要(。

让它一直运行也可能有更稳定的读数的优势,不会干扰开关

相关内容

  • 没有找到相关文章

最新更新