wulin 发表于 2018-12-13 06:07 先谢谢你的回答哈,不过你的也是跟我的一样,就是把你的这个代码改为(P5IN&0X07)就可以用,但是弄成(P5IN&0XEF)就扫描不了了emmmmm,不知道为啥,我的那个代码也是,弄成三个按键就可以用,但是改为七个按键就不行了 |
YANHONGFEI1 发表于 2018-12-12 22:26 emmmm,可是这个按键扫描弄成三个就可以用(P5IN&0X07),但是弄成七个就不行了(P5IN&0XEF),我也不知道为啥,把三个改成七个是我自己改的,然后改成七个后,示波器就没有反映了,连前三个按键也没反应了 |
hozhiwen 发表于 2018-12-12 23:43 没有多,这个如果只有三个io口,就是P5IN&0x07就可以用,但是把0x07改为0xEF就用不了了,不知道为啥,三个按键的就可以,一加到七个就不行了,不知道是哪里错了,难受 |
unsigned char ReadKey(void) { unsigned char temp; temp=P5IN&0xEF; if(temp!=0xEF) { delayus(10); if(temp!=0xEF) return temp; else return 0xFF; } return 0xFF; } |
是不是多了一个else return 0xFF;???? |
是不是多了个else return 0xFF;?????? |
要进行按键消抖动 |