?? mancard.c
字號:
/* +-------------------------------------------------------------------+ */
/* | Project : 1910.001 441GA01-T (External Reader RFID 125KHz) | */
/* | Module : ManCard.c | */
/* | Author : Lucio Faustinelli | */
/* | Company : AVE S.p.A. | */
/* | Released: June, 27 2008 | */
/* | Revision: YZ060.01 (FW - Revised) | */
/* | Revision: YZ062.00 (EEPROM - First Official Release) | */
/* | Revised : September, 04 2008 | */
/* | Revisor : AVE S.p.A. (Lucio FAUSTINELLI) | */
/* | Notes : -------------- | */
/* +-------------------------------------------------------------------+ */
/* | Purpose : This module contains functions to find, read and write | */
/* | the RFID transponder Card (High-Level routines) | */
/* +-------------------------------------------------------------------+ */
/* | Functions: uint8_t findCard( void ) | */
/* | uint8_t readCard( void ) | */
/* | uint8_t writeWord4onCard( uint8_t type ) | */
/* | uint8_t resetAllByteCard( void ) | */
/* | uint8_t writeMasterCard( uint8_t type ) | */
/* | void getCardRoomData( void ) | */
/* | void getEEpromRoomData( void ) | */
/* | void putCardRoomData( void ) | */
/* | void putEEpromRoomData( void ) | */
/* | uint8_t check_MAC_GAB( uint8_t type ) | */
/* | uint8_t check_SCA_INI( void ) | */
/* | uint8_t writeZoneOnCard( void ) | */
/* | uint8_t checkZone( uint32_t* val ) | */
/* | uint8_t checkRefZone( uint32_t* val ) | */
/* | uint8_t checkBitmapStanze( void ) | */
/* | void storeBuffer( uint8_t *s ) | */
/* | void clearPlantMemory( void ) | */
/* | uint8_t checkAreeCom( void ) | */
/* | uint8_t checkAccessiScalare( void ) | */
/* +-------------------------------------------------------------------+ */
/* +-------------------------------------------------------------------+ */
/* | I N C L U D E S | */
/* +-------------------------------------------------------------------+ */
// G L O B A L
#include <avr/io.h>
// L O C A L S
#include "LetExtDef.h"
#include "CardMifare.h"
#include "MfRc500.h"
#include <string.h>
#include <util/delay.h>
/* +-------------------------------------------------------------------+ */
/* | F U N C T I O N S | */
/* +-------------------------------------------------------------------+ */
/* +-------------------------------------------------------------------+ */
/* | f i n d C a r d ( ) 15 Aprile 2008 | */
/* | Funzione per la ricerca di una carta transponder. Questa ricerca | */
/* | viene eseguita in due fasi. La prima verifica che ci sia qualcosa | */
/* | che generi commutazioni del dato ricevuto mentre la seconda cerca | */
/* | tre LIW (LIstening Window) consecutivi per garantire che si tratti| */
/* | di una carta transponder e non di rumore o altro. | */
/* | Parametri passati : Nessuno | */
/* | Parametri ritornati : Esito ricerca - 1=OK (Carta trovata) | */
/* +-------------------------------------------------------------------+ */
uint8_t findCard( void )
{
Mf500WakeUpMode(); // Risveglio del chip MIFARE
_delay_ms(2); // Lascio stabilizzare la partenza del MF RC530
if ( getRfid( ) == CHIP_AUTHENTICATE )
{
Mf500StandbyMode(); // put RF onto off mode
return true;
}
Mf500StandbyMode(); // put RF onto off mode
return false;
}
/* +-------------------------------------------------------------------+ */
/* | r e a d C a r d ( ) 15 Aprile 2008 | */
/* | Funzione per la lettura di una carta transponder. Questa lettura | */
/* | consente di prelevare dalla carta i dati forniti dal ROL (6 word) | */
/* | che contengono praticamente tutti i dati per determinare (solo su | */
/* | accesso diretto) se la carta
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -