久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2933|回復: 0
打印 上一主題 下一主題
收起左側

STC89C52RC單片機,讀RFID卡片,如何只向串口發送一次數據

[復制鏈接]
跳轉到指定樓層
樓主
ID:210728 發表于 2018-11-2 17:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在用RFID讀卡的時候,向串口發送卡片信息,但是每次在串口上看到的都是循環讀卡片的信息,我只想讓下位機通過串口只發送一次卡片信息;求各位大神代碼怎么寫;
主函數代碼如下:
void main( )
{   
     unsigned char status,i;
          unsigned int temp;
         lcd_init();
     InitializeSystem( );
     PcdReset();
     PcdAntennaOff();
     PcdAntennaOn();  
          display_welcome2();
          

          
     while ( 1 )
     {   
         status = PcdRequest(PICC_REQALL, g_ucTempbuf);//尋卡
         if (status != MI_OK)
         {   
                          continue;
         }
                        display_type();//尋到卡后顯示出該卡的類型

                        printf("卡的類型:");
            for(i=0;i<2;i++)
                                        {
                                                temp=g_ucTempbuf[i];
                                                printf("%X",temp);
                                               
                                        }
                       
         status = PcdAnticoll(g_ucTempbuf);//防沖撞
         if (status != MI_OK)
         {    continue;    }
                        display_cardnum();//顯示尋到的卡的序列號  

                                        ////////以下為超級終端打印出的內容////////////////////////
                               
                                        printf("卡序列號:");        //超級終端顯示,
                                        for(i=0;i<4;i++)
                                        {
                                                temp=g_ucTempbuf[i];
                                                printf("%X",temp);
                                               
                                               
                                        }              
                                        status = PcdAnticoll(g_ucTempbuf);//防沖撞         
                                        //temp=m1erea;
                                       
                                        //printf("%X\n",temp);         
                                        ///////////////////////////////////////////////////////////         
         status = PcdSelect(g_ucTempbuf);//選定卡片
         if (status != MI_OK)
         {    continue;    }

         status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//驗證卡片密碼
         if (status != MI_OK)
         {    continue;    }

         status = PcdWrite(1, data1);//寫塊
         if (status != MI_OK)
         {    continue;    }
while(1)
                {
         status = PcdRequest(PICC_REQIDL, g_ucTempbuf);//尋卡
         if (status != MI_OK)
         {   
                          continue;
         }
                 status = PcdAnticoll(g_ucTempbuf);//防沖撞
         if (status != MI_OK)
         {    continue;    }
                display_cardnum();//顯示尋到的卡的序列號

                status = PcdSelect(g_ucTempbuf);//選定卡片
         if (status != MI_OK)
         {    continue;    }

         status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//驗證卡片密碼
         if (status != MI_OK)
         {    continue;    }


         status = PcdValue(PICC_DECREMENT,1,data2);//扣款
         if (status != MI_OK)
         {    continue;    }
                 display_xiaofeicarddat();//消費

        /*        status = PcdValue(PICC_INCREMENT,1,data2);//充值
         if (status != MI_OK)
         {    continue;    }
                 */
         status = PcdBakValue(1, 2);//塊備份
         if (status != MI_OK)
         {    continue;    }

         status = PcdRead(2, g_ucTempbuf);//讀塊
         if (status != MI_OK)
         {    continue;    }
                printf("卡讀塊:");        //超級終端顯示,
         for(i=0;i<16;i++)
                                        {
                                                temp=g_ucTempbuf[i];
                                                printf("%X",temp);
                                               
                                        }

                 printf("\n");
         display_carddat();//顯示數據
         //memcpy(data1,g_ucTempbuf,16);
                LED_GREEN = 0;
                FM_QI= 0;
                delay1(100);
                LED_GREEN = 1;
                FM_QI= 1;
                delay1(100);
                LED_GREEN = 0;
                FM_QI= 0;
                delay1(200);
                LED_GREEN = 1;       
                FM_QI= 1;                         
                delay1(600);                                                   
                 PcdHalt();
                  //PcdAntennaOff();
                  printf("test1:");
                }
    }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线播放中文字幕 | 日韩视频在线播放 | 看毛片的网站 | 久久久久久亚洲国产精品 | 中文字幕视频一区 | 欧美日韩欧美 | av网站在线免费观看 | 99在线观看视频 | 国产精品一区二区三区在线 | 国产乱码精品一区二区三区中文 | 欧美日韩中文在线观看 | 亚洲欧美综合精品另类天天更新 | 草草草网站 | 国产丝袜一区二区三区免费视频 | 在线一区二区三区 | 99精品99久久久久久宅男 | 青青草av网站 | 在线视频一区二区三区 | 欧美激情精品久久久久久免费 | 日本免费在线 | 亚洲日日夜夜 | 精品粉嫩aⅴ一区二区三区四区 | 欧美一级二级三级视频 | 国产乱码精品一区二区三区忘忧草 | 日韩一区二区三区视频 | 日韩av在线一区 | a成人| 亚洲人a| 精品久久久久久国产 | 国产一区二区精品在线 | 欧美另类视频在线 | 日韩在线观看中文字幕 | 中文字幕欧美在线观看 | 国产精品高潮呻吟久久 | 久久精品国产亚洲 | 成人精品免费视频 | 中文字幕日韩三级 | 91电影 | 国产精品久久久久不卡 | 91久久久久久久久久久久久 | 超碰8|