lhblhb 发表于 2019-2-3 14:46 看了你的电路图,P2高4位还有其他用途,所以判断按键时不能随意改变P2状态。可以这样写: void DULIANJIAN() //独立按键模块 { u8 i; //临时变量 i=GPIO_TRAFFId; //读P2口赋值变量i i&=0x0f; //高4位清0,保留低4位 if(i!=0x0f) //判断有键按下 { delay(100); //延时 if(i!=0x0f) //确认有键按下 { switch(i) //按键键位的确定 { case(0x0e):key_can=1;break; case(0x0d):key_can=2;break; case(0x0b):key_can=3;break; case(0x07):key_can=4;break; } } } } |
zhengchong60 发表于 2019-2-1 18:54 这个是我仿照开发板的电路设计的,静态数码管,34位显示宝田路时间,78位显示前进路时间 |
wulin 发表于 2019-2-1 20:20 试过了还是不行,还是要感谢你,新春快乐 |
void DULIANJIAN() //独立按键模块 { GPIO_TRAFFId=0x0f; //P2口 if(GPIO_TRAFFId!=0x0f) //判断按键 { delay(100); //延时 if(GPIO_TRAFFId!=0x0f) { switch(GPIO_TRAFFId) //按键键位的确定 { case(0x0e):key_can=1;break; case(0x0d):key_can=2;break; case(0x0b):key_can=3;break; case(0x07):key_can=4;break; } while(!GPIO_TRAFFId); } } } |