captainliuy 发表于 2015-4-8 13:22:46

stm32f10x HAL V1.0 HAL_ADC_Init() bug

HAL_ADC_Init() 中的一段代码
if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE)
    {
      tmp_sqr1 = ADC_SQR1_L_SHIFT(hadc->Init.NbrOfConversion);
    }main.c 中adc 初始化的代码
void MX_ADC1_Init(void)
{

ADC_ChannelConfTypeDef sConfig;

    /**Common config
    */
hadc1.Instance = ADC1;
hadc1.Init.ScanConvMode = ENABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 1;
HAL_ADC_Init(&hadc1);

    /**Configure Regular Channel
    */
sConfig.Channel = ADC_CHANNEL_4;
sConfig.Rank = 1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);

}宏定义 ADC_SCAN_ENABLE 和 ENABLE是永远不会相等的,所以SQR1寄存器无法配置。

数码小叶 发表于 2015-4-8 20:27:31

帮顶一下:D:D

wambob 发表于 2015-4-11 09:56:34

谢谢分享

stary666 发表于 2015-4-11 17:06:38

谢谢分享.....
页: [1]
查看完整版本: stm32f10x HAL V1.0 HAL_ADC_Init() bug