通过下面一段代码读出卡号以后,转成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;
- }
复制代码
|