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

📄 cardmifare.h

📁 Source Code Source Code Source Code Source Code Source Code Source Code Source Code Source Code Sour
💻 H
字号:
/* +-------------------------------------------------------------------+ */
/* | Project : 1920.010 SCR-ALBM1 (13.56MHz MIFARE Programmer)         | */
/* | Module  : CardMifare.h                                            | */
/* | Author  : Lucio Faustinelli / Paolo Muchetti                      | */
/* | Company : AVE S.p.A. / INFOTECNICA S.r.l.                         | */
/* | Released: September, 27 2008                                      | */
/* | Revision: YZ078.00 (FW - First Official Release)                  | */
/* | Revision: YZ079.00 (EEPROM - First Official Release)              | */
/* | Revised : September 27, 2008                                      | */
/* | Revisor : AVE S.p.A. (Lucio FAUSTINELLI)                          | */
/* | Notes   : --------------                                          | */
/* +-------------------------------------------------------------------+ */
/* | Purpose : This module contains defines and prototypes             | */
/* +-------------------------------------------------------------------+ */

#include "MfRc500.h"

#define IRQ     2		/* PB2 register bit2 */
#define RSTPD   3		/* PB3 register bit3 */
#define SCS	    4		/* PB4 register bit4 */
#define MOSI_   5		/* PB5 register bit5 */
#define MISO_   6		/* PB6 register bit6 */
#define SCK_    7		/* PB7 register bit7 */
/* +----------------------------------------------------------------------+ */
/* |                              DEFINE                                  | */
/* +----------------------------------------------------------------------+ */
#define CHIP_NOT_PRES			0
#define CHIP_NOT_VALID			1
#define CHIP_AUTHENTICATE		2
#define CHIP_NOT_AUTHENTICATE	3
#define CHIP_NOT_INIT			4

#define N_BYTE_WORD				4
#define N_WORD_X_SECTOR			12
#define N_WORD_USED				29
#define MAX_N_BLOCK_DATI		10
#define MAX_N_BLOCK_ROL			2
#define ID_WORD_SN				(32*N_BYTE_WORD)
#define ID_WORD_DD				(ID_WORD_SN+N_BYTE_WORD)
#define ID_WORD_COD_IMP			12

// Offset Start Word nell'applicazione a 125 kHz le prime 3 word Non erano leggibile ne scrivibili
#define OFFSET_START_WORD		3
#define OFFSET_END_WORD			33
#define ID_WORD_AVEPINCODE		0
#define ID_WORD_PROTECTION_WORD	1
#define ID_WORD_CONTROL_WORD	2
#define ID_WORD_DEV_SN			32
#define ID_WORD_DEV_IDENT		33

#define ADD_ERR			0 // errore indirizzo non valido
#define ADD_OK			1 // indirizzo Ok
#define ADD_CTRL_WORD	2 // Control Word
#define ADD_PROT_WORD	3 // Protection Word

// Offset Sector Trailer
#define SECTORTRAILER_TO_START	2
#define DEFAULT_OFFSET_SEC_TRA	0

// Posizione address
#define ID_SECTOR		0
#define ID_BLOCK		1
#define ID_BLOCK_REL	2
#define ID_BYTE			3

/* +----------------------------------------------------------------------+ */
/* |                         VARIABILI PUBBLICHE                          | */
/* +----------------------------------------------------------------------+ */
extern uint8_t atq[2];
extern uint8_t snr[4];
extern uint8_t sak[1];

extern uint8_t bufMifare[NUM_BYTE_BLOCK];
extern uint8_t coded_keyA[12];
extern uint8_t coded_keyB[12];
extern uint8_t keyA[6];
extern uint8_t keyB[6];
extern uint8_t keyFF[6];

extern uint8_t offsetSectTra;
extern uint8_t statoChip;
extern uint8_t sectorAutenticato;

extern uint8_t bufAddress[4];


/* +----------------------------------------------------------------------+ */
/* |                    PROTOTIPI FUNZIONI PUBBLICHE                      | */
/* +----------------------------------------------------------------------+ */
void initBoardMifare( void );
void init_Rfid (uint8_t segnAcustico);
uint8_t getRfid (void);
uint8_t readBlockRfid (uint8_t block);
uint8_t gesWriteChipRfid(uint8_t rileggi, uint8_t block, uint8_t *bufData);
//uint8_t initChipMifare(void);
uint8_t getSecBlkByte(uint8_t addByte);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -