搜索
bottom↓
回复: 4

4*4键盘输入任何数,通过串口发送出去,出现问题了!!

[复制链接]

出0入0汤圆

发表于 2016-11-24 21:34:20 | 显示全部楼层 |阅读模式
4*4键盘输入任何数,通过串口发送出去,出现问题了!!百度上说需要一个变量保存啊!不知道怎么保存,然后发送出去

  void dispaly_number()
{       
                 
         uchar number[]={"000"};                   ////取多少位数
            char i=0;                                                          ////高位在前,低位在后。
         number[0]=datc%1000/100+'0';
         number[1]=datc%100/10+'0';
         number[2]=datc%10/1+'0';       
         for(i=0;i<3;i++)
          {          
             delay(1000);                                                       
             SendData(number[i]);
                 delay(1000);       
          }
                SendString("\r\n");       
}

void          KeyDown()
{
    uchar bai,shi,ge,ci;
        GPIO_KEY=0x0f;
        if(GPIO_KEY!=0x0f)//读取按键是否按下
        {
           delay(1);

                if(GPIO_KEY!=0x0f)//再次检测键盘是否按下
                {                                       
                        //测试列
                        GPIO_KEY=0X0F;
                        switch(GPIO_KEY)
                         {
                                case(0X07):        KeyValue_l=0;break;
                                case(0X0b):        KeyValue_l=1;break;
                                case(0X0d): KeyValue_l=2;break;
                                 case(0X0e):        KeyValue_l=3;break;
                         }

                   //测试行
                        GPIO_KEY=0XF0;
                        switch(GPIO_KEY)
                         {
                                case(0X70):        KeyValue_h=0;break;
                                case(0Xb0):        KeyValue_h=1;break;
                                case(0Xd0): KeyValue_h=2;break;
                                case(0Xe0):        KeyValue_h=3;break;
                          }               
             a1=KeyValue_h*4+KeyValue_l;                  //得出键值
             a1++;
             if(a1==11)
             a1=0;
             if(a1==10)                                                                                                                                                                      
             datc=datc/10;
         ge=0;
         shi=0;
         bai=0;
             }
         }
////-------------------------------------------------------------------------------
//          switch(a1)
//          {
//                             case(10):        datc=0;break;
//                        case(0):        datc=1;break;
//                        case(1):         datc=2;break;
//                        case(2):        datc=3;break;
//                        case(3):        datc=4;break;
//                        case(4):        datc=5;break;
//                        case(5):        datc=6;break;
//                        case(6):         datc=7;break;
//                        case(7):        datc=8;break;
//                        case(8):        datc=9;break;
//          }
///*****************************************************************************///

   if(a1<12)
   {
         ci++;
        if(ci==4)
        {
        ci=1;
        }
        if(ci==1)
        {
                             
          ge=a1;       
          datc=ge;
//            if((flag==1)&&(key==0))       
//       {
//
//       dispaly_number();
//
//            }        
         }
//--------------------------------------------------------------------------------------------------
          if(ci==2)
           {
            flag=1;       
              shi=ge*10;
              datc=a1+shi;
//    if((flag==1)&&(key==0))       
//       {
//
//       dispaly_number();
//
//            }        
              }
///-------------------------------------------------------------------------------------------

           if(ci==3)
           {
                     
                 if(datc>25)          
                     {
                         datc=0;
                                 }
                 else
                  {
                      if(datc==25&&a1>5)
                      datc=0;
                  else
                      {
                          bai=datc*10;
                          datc=bai+a1;
                                                  
                       }
                    }             
            }         
}
  dispaly_number();
////---------------------------------------------------------------------------------------
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2016-11-24 21:41:33 | 显示全部楼层
望各位,帮我看哈好好吗

出0入0汤圆

发表于 2016-11-24 22:04:36 | 显示全部楼层
我觉着LZ注册的这个号没有发挥出作用,还不如把这几十块钱省下来,来直接问我。

出0入0汤圆

发表于 2016-11-25 08:07:38 | 显示全部楼层
楼主,本论坛有相关例子,可以搜一搜看

出0入0汤圆

发表于 2016-11-25 09:00:48 | 显示全部楼层
恐ID 不保
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 15:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表