标题:
独立按键扫描,测试列下面的语句没看懂,求大神解释。
[打印本页]
作者:
谢幕芳华
时间:
2016-7-22 16:55
标题:
独立按键扫描,测试列下面的语句没看懂,求大神解释。
void KeyScan(void)
{
char a = 0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)//读取按键是否按下
{
Delay10ms(1);//延时10ms进行消抖
if(GPIO_KEY!=0x0f)//再次检测键盘是否按下
{
//测试列
GPIO_KEY=0X0F
;
/*为什么这里还要按键I/O口赋值00001111?这样的话switch根本不会执行*/
switch(GPIO_KEY)
{
case(0X07): KeyValue=0;break;
case(0X0b): KeyValue=4;break;
case(0X0d): KeyValue=8;break;
case(0X0e): KeyValue=12;break;
作者:
王朗的诱惑
时间:
2016-7-23 07:46
和上面的那句一样吧,读I/O之前给I/O口赋值为1。I/O口实际的电平要看按键,就算I/O口赋值为1也不会把按下去的按键对应的电平拉到1的。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1