STM32扫描模式与非扫描模式、连续转换与非连续转换的区别【自学笔记】

连续转换和非连续转换

连续转换模式 (Continuous Conversion Mode):

  • 定义:ADC在一次转换完成后会自动开始下一次转换,不需要软件或硬件触发。
  • 用途:适用于需要连续采集数据的情况,如实时监控传感器数据。
  • 代码示例

    hadc1.Init.ContinuousConvMode = ENABLE;

  • 非连续转换模式 (Discontinuous Conversion Mode):

  • 定义:ADC在每次转换完成后暂停,等待下一次触发信号(软件或硬件)再开始下一次转换。
  • 用途:适用于间歇性数据采集或节省功耗的情况。
  • 代码示例
    hadc1.Init.DiscontinuousConvMode = ENABLE;
    
  • 扫描模式和非扫描模式

    扫描模式 (Scan Conversion Mode):

  • 定义:ADC按顺序转换多个通道。在扫描模式下,ADC会依次转换预先配置的多个通道,转换完成后再从第一个通道开始新的转换。
  • 用途:适用于同时采集多个传感器数据的情况。
  • 代码示例
    hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
    
  • 非扫描模式 (Non-Scan Conversion Mode):

  • 定义:ADC只转换一个通道,重复转换这个通道。在非扫描模式下,ADC只采集一个通道的数据。
  • 用途:适用于只需要采集一个传感器数据的情况。
  • 代码示例
    hadc1.Init.ScanConvMode = DISABLE;
    
  • 具体区别和应用场景

    连续转换和非连续转换的区别:

    1. 连续转换模式

    2. 不需要外部触发,每次转换完成后自动进行下一次转换。
    3. 适合需要持续数据采集的应用,如环境监测、心电图等。
    4. 非连续转换模式

    5. 每次转换完成后需要等待外部触发才能进行下一次转换。
    6. 适合需要间歇性数据采集的应用,如定期检测电池电压。

    扫描模式和非扫描模式的区别:

    1. 扫描模式

    2. 可以依次转换多个通道,适合同时采集多个传感器的数据。
    3. 例如:一台设备同时监控温度、湿度和压力。
    4. 非扫描模式

    5. 只能转换一个通道,适合单一传感器的数据采集。
    6. 例如:一个简单的温度监控系统,只需要采集一个温度传感器的数据。

    总结:

  • 连续转换适合连续数据采集,而非连续转换适合间歇性数据采集。
  • 扫描模式适合多通道数据采集,而非扫描模式适合单通道数据采集。
  • B站江协科技视频教程PPT内容
  • cubeMX 配置举例 【STM32】CubeMX+HAL库之ADC+DMA_hal adc dma-CSDN博客
  • 该链接为连续转换扫描模式配置使用方法
  • 作者:阿 尔 托 莉 雅

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32扫描模式与非扫描模式、连续转换与非连续转换的区别【自学笔记】

    发表回复