问题描述:
1、电路和程序如下
2、启动后,示波器量引脚PA14,电压为3.2V,按键按下后,电压为2.56V
3、PA13和PA15等引脚正常,可以拉到地,就PA14不行
4、还有一个现象,就是启动后扫描PA14发现是0,用示波器看,一直是高电平(重启时电压会升到4.88V,然后再变成3.2V)
以上
很奇怪的问题,不知道从哪入手。求高手帮忙分析和支招,感谢~~~
电路很简单:就PA14->电阻220R->按键(另一端接地)
程序:
- void Key_Config(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
- GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
-
- //管理员 PA15
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
-
- //摇杆 UP:PD11 DOWN:PD15 LEFT:PA12 RIGHT:PA13 OK:PA14
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_15;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_Init(GPIOD, &GPIO_InitStructure);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
复制代码
脚都用完了。换个还真不行。。。
一周热门 更多>