微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > PCB设计学习讨论 > 求大神赐教这段代码什么意思?4*4按键接单片机p2,行高四位,列第四位,显示在八位数码管,

求大神赐教这段代码什么意思?4*4按键接单片机p2,行高四位,列第四位,显示在八位数码管,

时间:10-02 整理:3721RD 点击:
void        ReadKeyValue()//放在2ms分时中执行,20ms执行一次    键值转换处理
{
        if((KeyDly++ >= 2))
                {
                 R_keybuf=0;
                 FLG_keymark=0;
                 KeyDly=0;
                 R_KeyValue=0;
                 KeyMarkDly=0;
                }
        if(R_KeyValue != 0)  //有键按下
                {
                KeyDly=0;
                if(R_KeyValue == R_keybuf)
                        {
                                KeyMarkDly++;
                                if(FLG_keymark==0)
                                        {
                                        if(KeyMarkDly >= 50)
                                                {
                                                KeyMarkDly=0;
                                                FLG_keymark=1;
                                                R_keybuf=R_curkey=R_KeyValue;       
                                                R_KeyValue=0;                                               
                                                }
                                                else
                                                        {
                                                        R_KeyValue=0;
                                                        }
                                        }
                                        else
                                                {
                                                 if(KeyMarkDly >= 25)
                                                        {
                                                        KeyMarkDly=0;
                                                        FLG_keymark=1;
                                                        R_keybuf=R_curkey=R_KeyValue;       
                                                        R_KeyValue=0;                               
                                                        }
                                                else
                                                        {
                                                        R_KeyValue=0;
                                                        }                                               
                                                }               
                         }
                        else//非连续建
                                {
                                R_keybuf=R_curkey=R_KeyValue;
                                R_KeyValue=0;
                                FLG_keymark=0;
                                KeyMarkDly=0;       
                                }               
                        }
                else //无按键按下
                        {
                                //R_keybuf=0;
                         //FLG_keymark=0;
                         //KeyDly=0;
                         //R_KeyValue=0;
                         //KeyMarkDly=0;
                        }
        }

检测有没有按键被按下,且检测出按下的是几号键

亲,能告诉我一下  R_keybuf=0;       FLG_keymark=0;       KeyDly=0;     R_KeyValue=0;
                 KeyMarkDly=0;    这5个分别定义的什么意思吗

我知道是检测按键,但不知道为什么这么写?依据是什么?能帮忙讲解一下吗

这几个都是Define的变量名,你要看它们的定义声明代码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top