qihao74 发表于 2016-1-26 16:34:01

关于STM32L052采样AD双通道切换问题

用STM32L052采样AD,两个通道,双通道切换在AD中断中完成,要怎么设置,试了1天,都无法解决!!!:'(:'(

qihao74 发表于 2016-1-28 12:33:34

感谢,安大师的例程。。
可以了
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle)
{
/* Get the converted value of regular channel */

uwADCxConvertedValue = HAL_ADC_GetValue(AdcHandle);

HAL_ADC_Stop_IT(&hadc);
        if(CH_dp==0)
        {
                CH_dp=1;
                ADC1->CHSELR = ADC_CHANNEL_2;
        }
        else
        {
                CH_dp=0;
                ADC1->CHSELR = ADC_CHANNEL_7;                               
        }
                      
        HAL_ADC_Start_IT(&hadc);
       
HAL_UART_Transmit_IT(&huart1, (uint8_t*)uwADCxConvertedValue, 4);
}

qihao74 发表于 2016-1-27 08:25:36

中断中两个通道互相切换

我还怀疑是设置问题

HAL_ADC_Init(&hadc);
    /**Configure for the selected ADC regular channel to be converted.
    */
sConfig.Channel = ADC_CHANNEL_2;
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
HAL_ADC_ConfigChannel(&hadc, &sConfig);

用到通道2 通道7
中断中两个通道互相切换


HAL_ADC_Init(&hadc);
    /**Configure for the selected ADC regular channel to be converted.
    */
sConfig.Channel = ADC_CHANNEL_7;
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
HAL_ADC_ConfigChannel(&hadc, &sConfig);

Paderboy 发表于 2016-1-27 10:00:04

本帖最后由 Paderboy 于 2016-1-27 10:20 编辑

你可以参考下,安大师的例程。。。
https://www.stmcu.org.cn/module/foru ... =%E5%AE%89%E8%87%A3

:loveliness:

页: [1]
查看完整版本: 关于STM32L052采样AD双通道切换问题