标题: 这个代码什么意思 [打印本页]

作者: 周鑫鑫鑫666    时间: 2017-12-7 12:17
标题: 这个代码什么意思
unsigned char GetKey(void)
{
    unsigned char KeyTemp,CheckValue,Key = 0x00;
    CheckValue = P2&0x32    //&运算用来保留位数,如P2&0x0f,即保留有1的低四位。
    if(CheckValue==0x32)    //而1运算则用来
        return 0x00;
   
    Delay1ms(10);
    KeyTemp = P2&0x32;
    if(KeyTemp==CheckValue)
        return 0x00;

    if(!(CheckValue&0x02))
        Key|=0x01;         //
    if(!(CheckValue&0x10))
        Key|=0x02;
    if(!(CheckValue&0x20))
        Key|=0x04;
    return Key;
}


读不懂这段代码的意思,大家可以指点一下吗?


作者: 水漫金山2017    时间: 2017-12-7 14:00
独立式按键值识别

作者: cccc888    时间: 2017-12-7 16:14
unsigned char GetKey(void)
{
    unsigned char KeyTemp,CheckValue,Key = 0x00;
    CheckValue = P2&0x32    //32=2(110010)  按键接在p2.1 p2.4 p2.5
    if(CheckValue==0x32)    //无按键按下
        return 0x00;
   
    Delay1ms(10);
    KeyTemp = P2&0x32;  
    if(KeyTemp==CheckValue)//本次值等于上次值
        return 0x00;                //此处这个代码有逻辑错误

    if(!(CheckValue&0x02))// 2=2(00000010)
        Key|=0x01;         //
    if(!(CheckValue&0x10))//10=2(00010000)
        Key|=0x02;
    if(!(CheckValue&0x20))//100000
        Key|=0x04;
    return Key;
}
作者: hk18774830405    时间: 2017-12-7 16:29
判断按键
作者: 刘昕    时间: 2017-12-7 17:30
按键判断用的
作者: maotingwei    时间: 2017-12-8 14:19
先判断有按键是否被按下,没有直接返回0x00,如果有,等待10ms再次读取,如果没有读到有被按下,认为是抖动,如果有按键被按下,将key对应的位置位,返回key
作者: 只要钱不要脸    时间: 2017-12-9 20:05
按键判断
作者: 轻轻一丶    时间: 2017-12-9 23:40
判断按键的
作者: 电子特工    时间: 2017-12-9 23:48
按键判断
作者: 没心没肺挺好丶    时间: 2017-12-10 10:16
独立式按键值识别
作者: 797976    时间: 2017-12-11 11:56
判断独立式按键值识别
作者: 及时的方式复    时间: 2017-12-11 16:08
用来判别按键的
作者: hua123456    时间: 2017-12-11 16:54
按键的判断用
作者: youzhanao0701    时间: 2017-12-11 17:04
判断按键
作者: pxg.pxg    时间: 2017-12-11 18:07
按键判断的意思
作者: 750674316    时间: 2017-12-11 19:58
独立按键判断
作者: 网络不安全    时间: 2021-12-24 09:49
CheckValue = P3&0x32;   //32=2(110010) 十六进制转二进制 按键接在p3.1 p3.4 p3.5
这个是怎么计算得到按键接在p3.1 p3.4 p3.5呢


作者: lcjlcj    时间: 2021-12-24 10:24
按键扫描

作者: lcjlcj    时间: 2021-12-24 10:28
网络不安全 发表于 2021-12-24 09:49
CheckValue = P3&0x32;   //32=2(110010) 十六进制转二进制 按键接在p3.1 p3.4 p3.5
这个是怎么计算得到 ...

P3引脚为电平010011000P3.1 P3.4 P3.5为高电平
作者: 3125311919    时间: 2021-12-24 10:40
扫描按键,确定是哪一个按键按下
作者: 请无视此ID    时间: 2021-12-25 20:25
按键判断,判断是哪个按键按下
作者: 风之痕于梦想    时间: 2021-12-30 15:49
扫描是哪一个按键被使用
作者: 赵杰赵杰    时间: 2022-1-7 12:32
判断按键的输入值的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1