|
目标器件:ATmega64 ,
晶振:RC 7.3728MHZ,
编译环境:ICCAVR 7.22
PE口,PF口 共16个单独的按键输入口,每个按键是一个任务,多任务可以同时运行。
程序如下,可是读出来的值,不对。
有哪位大侠有按键扫描例子可参考一下的吗?
void GetKey(void)
{
unsigned char jog,inputkey;
inputkey = PINE&0xff;
if(inputkey == 0xff)
{
if(keystate == 1)
{
keystate = 0;
return keyvalue;
}
else
{return 0;}
}
else
{
keystate = 1;
if((inputkey&0x01)==0) key1 = 1;
if((inputkey&0x02)==0) key2 = 1;
if((inputkey&0x04)==0) key3 = 1;
if((inputkey&0x08)==0) key4 = 1;
if((inputkey&0x10)==0) key5 = 1;
if((inputkey&0x20)==0) key6 = 1;
if((inputkey&0x40)==0) key7 = 1;
if((inputkey&0x80)==0) key8 = 1;
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|