STM32
直播中

云达贞

8年用户 957经验值
私信 关注
[问答]

STM32F103RCT6串口2的接收引脚PA3配置成GPIO_Mode_IN_FLOATING模式时会使ADC采集值偏高的原因?

STM32F103RCT6串口2的接收引脚PA3配置成GPIO_Mode_IN_FLOAtiNG模式时会使ADC采集值偏高,请问怎么回事

回帖(1)

杨怡

2024-3-12 14:33:48
这是因为在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引脚将使用内部上拉电阻,从而提供稳定的引脚电平
举报

更多回帖

发帖
×
20
完善资料,
赚取积分