请教:各位高手,STM32的PA14脚输入电压拉不低是什么原因

2019-12-12 18:22发布

问题描述:
1、电路和程序如下
2、启动后,示波器量引脚PA14,电压为3.2V,按键按下后,电压为2.56V
3、PA13和PA15等引脚正常,可以拉到地,就PA14不行
4、还有一个现象,就是启动后扫描PA14发现是0,用示波器看,一直是高电平(重启时电压会升到4.88V,然后再变成3.2V)
以上
很奇怪的问题,不知道从哪入手。求高手帮忙分析和支招,感谢~~~

电路很简单:就PA14->电阻220R->按键(另一端接地)
程序:

  1. void Key_Config(void)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStructure;
  4.        
  5.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  8.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
  10.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  11.         GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
  12.        
  13.         //管理员 PA15
  14.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  15.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  16.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  17.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  18.        
  19.         //摇杆 UP:PD11 DOWN:PD15 LEFT:PA12 RIGHT:PA13  OK:PA14
  20.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_15;
  21.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  22.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  23.         GPIO_Init(GPIOD, &GPIO_InitStructure);
  24.        
  25.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;
  26.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  27.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  28.         GPIO_Init(GPIOA, &GPIO_InitStructure);
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。