写一个通用的按键代码,不要嫌麻烦,以后所有的按键都用这个了,最多根据需要小改一下;
之后我的KEY函数这样操作就好了;
while(1)
{
...
Key = GetKey();
if(Key.One == K_On)
{
LED = ~LED;
}
...
}
这里的key.one是单次触发的,在按键放开之前只会有一次为键值,其他时候为无建
简单的代码
u8 GetKey()
{
u8 key;
key = Keypin;
delay();
if(key == KeyPin)return key;
return 0;
}
main()
{
...
if(GetKey() == KEY_ON) Led = ~Led; 读取按键有效 反转灯状态
while(GetKey() != 0); 等待按键放开
...
}
|