硬汉嵌入式论坛

 找回密码
 立即注册
查看: 827|回复: 2
收起左侧

[有问必答] stm32g070不管怎么配置,adc的采样时间固定

[复制链接]

30

主题

63

回帖

153

积分

初级会员

积分
153
发表于 2024-6-5 10:55:26 | 显示全部楼层 |阅读模式
stm32g070不管怎么配置,14个通道的采样时间居然固定的?


    hadc1.Instance = ADC1;
    hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV64;
    hadc1.Init.Resolution = ADC_RESOLUTION_12B;
    hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
    hadc1.Init.ScanConvMode = ADC_SCAN_SEQ_FIXED;
    hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
    hadc1.Init.LowPowerAutoWait = DISABLE;
    hadc1.Init.LowPowerAutoPowerOff = DISABLE;
    hadc1.Init.ContinuousConvMode = DISABLE;
    hadc1.Init.NbrOfConversion = 1;
    hadc1.Init.DiscontinuousConvMode = DISABLE;
    hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
    hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
    hadc1.Init.DMAContinuousRequests = ENABLE;
    hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
    hadc1.Init.SamplingTimeCommon1 = ADC_SAMPLETIME_160CYCLES_5;
    hadc1.Init.OversamplingMode = DISABLE;
    hadc1.Init.TriggerFrequencyMode = ADC_TRIGGER_FREQ_HIGH;


调整ClockPrescaler 和SamplingTimeCommon1 ,观察示波器GPIO的时间居然都是一样的。

    HAL_ADC_Start_DMA(&hadc1, g_func_adc.adc_dma, COUNTOF(g_func_adc.adc_dma));


while(1)
{

        HAL_GPIO_WritePin(LED_RUN_GPIO_Port, LED_RUN_Pin, GPIO_PIN_RESET);
        HAL_ADC_Start(&hadc1);
        HAL_ADC_PollForConversion(&hadc1, 50);
        HAL_GPIO_WritePin(LED_RUN_GPIO_Port, LED_RUN_Pin, GPIO_PIN_SET);

}
回复

使用道具 举报

1

主题

37

回帖

45

积分

新手上路

积分
45
发表于 2024-6-5 13:30:10 | 显示全部楼层
ADC的多个通道的采样时间最多分成两组,每一组的采样时间配置相同
回复

使用道具 举报

1

主题

37

回帖

45

积分

新手上路

积分
45
发表于 2024-6-5 13:32:27 | 显示全部楼层
Snipaste_2024-06-05_13-31-21.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:07 , Processed in 0.040205 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表