这是因为在GPIO_Mode_IN_FLOATING模式下,GPIO引脚没有内部上拉或下拉电阻,因此可能会受到外部环境的干扰而导致不稳定的电平。可以使用内部上拉电阻来提供稳定的引脚电平。
试试将PA3引脚配置为输入模式,并使能内部上拉电阻
- GPIO_InitTypeDef GPIO_InitStructure;
- // 确保已经初始化了GPIO时钟
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 使用内部上拉
- GPIO_Init(GPIOA, GPIO_InitStructure);
在进行ADC采集之前,对应的ADC通道选择正确的引脚
- ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 1, ADC_SampleTime_55Cycles5);
这样配置,PA3引脚将使用内部上拉电阻,从而提供稳定的引脚电平
这是因为在GPIO_Mode_IN_FLOATING模式下,GPIO引脚没有内部上拉或下拉电阻,因此可能会受到外部环境的干扰而导致不稳定的电平。可以使用内部上拉电阻来提供稳定的引脚电平。
试试将PA3引脚配置为输入模式,并使能内部上拉电阻
- GPIO_InitTypeDef GPIO_InitStructure;
- // 确保已经初始化了GPIO时钟
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 使用内部上拉
- GPIO_Init(GPIOA, GPIO_InitStructure);
在进行ADC采集之前,对应的ADC通道选择正确的引脚
- ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 1, ADC_SampleTime_55Cycles5);
这样配置,PA3引脚将使用内部上拉电阻,从而提供稳定的引脚电平
举报