通過下面一段代碼讀出卡號以后,轉成ASCII ( ID_ASC[] )那有個問題呢...我想從鍵盤鍵入ASCII碼,代替RFID都出來的卡號(Card_SN[ i])與已存儲卡號進行對比,用來注銷已儲存的卡。應該怎么寫這段代碼呢...- uchar Card_type[2], //卡片類型
- Card_SN[4]={0}, //IC卡號
- Card_SN_BUF[4]={0xff,0xff,0xff,0xff}, //卡號登記緩沖區1
- NewCard1[4]={0xff,0xff,0xff,0xff}, //卡號登記緩沖區2
- NewCard2[4]={0xff,0xff,0xff,0xff}, //卡號登記緩沖區3
-
- KEY_BUF[8]={'8','8','8','8','8','8','8','8'}; //默認狀態密碼為8個8::"8888 8888"
- uchar ii=0;
- void uart_over( void ) //串口數據還原
- {
- UartCount = 0;
- UartStart = FALSE;
- UartComp = FALSE;
- }
- uchar IC_READ( void ) //讀卡程序
- {
- uchar ID_ASC[8],i;
- if( PcdRequest( PICC_REQIDL, Card_type ) != MI_OK )//尋天線區內未進入休眠狀態的卡,返回卡片類型 2字節
- {
- if( PcdRequest( PICC_REQIDL, Card_type ) != MI_OK )//尋天線區內未進入休眠狀態的卡,返回卡片類型 2字節
- {
-
- return FALSE;
- }
- }
-
- if( PcdAnticoll( Card_SN ) != MI_OK ) //防沖撞,返回卡的序列號 4字節
- {
- return FALSE;
- }
- send_bytes(Card_type,2); //發送卡類型
- send_bytes(Card_SN,4); //發送卡號
- /***********************************************************************************************************
- 將IC卡的物理地址轉換為顯示在液晶屏上的ASCII值 卡號
- ***********************************************************************************************************/
- for(i=0;i<4;i++) //卡ID號轉化成ASCII
- {
- if(Card_SN[i]/16>9) ID_ASC[i*2]=Card_SN[i]/16+'7';
- else ID_ASC[i*2]=Card_SN[i]/16+'0';
- if(Card_SN[i]%16>9) ID_ASC[i*2+1]=Card_SN[i]%16+'7';
- else ID_ASC[i*2+1]=Card_SN[i]%16+'0';
- }
- lcd_mesg("ID:",0x88,4); //顯示ID:
- display_card_num(0x88+0x02,ID_ASC,8); //顯示:當前刷卡的卡號
- return TRUE;
- }
復制代碼
|