⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mancard.c

📁 Source Code Source Code Source Code Source Code Source Code Source Code Source Code Source Code Sour
💻 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 + -