📄 cardmifare.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 + -