1、以下是按照原子的设置//初始化 ADC1 相关参数ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;//12位模式ADC_InitStructure.ADC_ScanConvMode = DISABLE;//非扫描模式ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转换ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;//禁止触发检测,使用软件触发ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐ADC_InitStructure.ADC_NbrOfConversion = 1;//1个转换在规则序列中 也就是只转换规则序列1ADC_Init(ADC1, &ADC_InitStructure);//ADC初始化设置中少设置了一个成员变量ADC_InitStructure.ADC_ExternalTrigConv仿真发现这个变量的值默认为 0x08002d40, 调用 ADC_Init后,ADC_CR2寄存器的值被改变成不是你设置的值解决方法是加上 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; 这句就好了得到的经验是结构体的所有变量最好都设置,不设置的话,初值不一定是你想要的,结果也可能不是你想要的