刚刚拿到了5个片子,把板子上原来的ST芯片换上GD的后,调试按键输入功能:PA4、PA5、PB1、PB2作为输入,外部电路未加上拉电阻,IO串入了51R的电阻后直接接轻触开关(开关的另外一个脚接地)。软件里面把IO配置为输入上拉GPIO_Mode_IPU,结果会一直检测到有按键按下。用万用表测IO口的电压,都在2.5V以下,有2个的电压在1V以下。
void KeyBoard_Init(void)
{
u32 i;
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
for(i=0;i<MAX_KEY_NUM;i++)
{
RCC_APB2PeriphClockCmd(RCC_GPIO_KEY[i], ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_KEY[i];
GPIO_Init(GPIO_KEY[i], &GPIO_InitStructure);
}
}
换回ST的芯片后,按键输入功能就正常了。
|