LibDriver MFRC522  1.0.0
MFRC522 full-featured driver
mfrc522 example driver function

mfrc522 example driver modules More...

Macros

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_PIN_INVERT   MFRC522_BOOL_TRUE
 mfrc522 basic example default definition More...
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT_PIN_TYPE   MFRC522_INTERRUPT_PIN_TYPE_STANDARD_CMOS
 
#define MFRC522_BASIC_DEFAULT_FORCE_IIC_HIGH_SPEED   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_CLEAR_TEMPERATURE_ERROR   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_WATER_LEVEL   8
 
#define MFRC522_BASIC_DEFAULT_RX_ALIGN   MFRC522_RX_ALIGN_0
 
#define MFRC522_BASIC_DEFAULT_TX_CRC_GENERATION   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TX_SPEED   MFRC522_SPEED_106_KBD
 
#define MFRC522_BASIC_DEFAULT_MODULATION_INVERT   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_RX_CRC_GENERATION   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_RX_SPEED   MFRC522_SPEED_106_KBD
 
#define MFRC522_BASIC_DEFAULT_RX_NO_ERROR   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_RX_MULTIPLE   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TX_INPUT   MFRC522_TX_INPUT_INTERNAL_ENCODER
 
#define MFRC522_BASIC_DEFAULT_MFOUT_INPUT   MFRC522_MFOUT_INPUT_3_STATE
 
#define MFRC522_BASIC_DEFAULT_MINI_LEVEL   0x8
 
#define MFRC522_BASIC_DEFAULT_COLLISION_LEVEL   0x4
 
#define MFRC522_BASIC_DEFAULT_CHANNEL_RECEPTION   MFRC522_CHANNEL_RECEPTION_STRONGER_FREEZE_SELECTED
 
#define MFRC522_BASIC_DEFAULT_FIX_IQ   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TIMER_PRESCAL_EVEN   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_RECEPTION   0x3
 
#define MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_SYNC   0x1
 
#define MFRC522_BASIC_DEFAULT_TX_WAIT   0x2
 
#define MFRC522_BASIC_DEFAULT_PARITY_DISABLE   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T0   0x07
 
#define MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T1   0x0B
 
#define MFRC522_BASIC_DEFAULT_MODULATION_WIDTH   0x26
 
#define MFRC522_BASIC_DEFAULT_CWGSN   0x8
 
#define MFRC522_BASIC_DEFAULT_MODGSN   0x8
 
#define MFRC522_BASIC_DEFAULT_CWGSP   0x20
 
#define MFRC522_BASIC_DEFAULT_MODGSP   0x20
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_TX   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_RX   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_IDLE   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_HI_ALERT   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_LO_ALERT   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_ERR   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT1_TIMER   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT2_MFIN_ACT   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_INTERRUPT2_CRC   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_CRC_MSB_FIRST   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TX_WAIT_RF   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_MFIN_POLARITY   MFRC522_MFIN_POLARITY_HIGH
 
#define MFRC522_BASIC_DEFAULT_CRC_PRESET   MFRC522_CRC_PRESET_6363
 
#define MFRC522_BASIC_DEFAULT_FORCE_100_ASK   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_CONTACTLESS_UART_INPUT   MFRC522_CONTACTLESS_UART_INTERNAL_ANALOG_MODULE
 
#define MFRC522_BASIC_DEFAULT_RX_WAIT   0x6
 
#define MFRC522_BASIC_DEFAULT_RX_GAIN   MFRC522_RX_GAIN_48_DB
 
#define MFRC522_BASIC_DEFAULT_TIMER_AUTO   MFRC522_BOOL_TRUE
 
#define MFRC522_BASIC_DEFAULT_TIMER_GATED_MODE   MFRC522_TIMER_GATED_MODE_NONE
 
#define MFRC522_BASIC_DEFAULT_TIMER_AUTO_RESTART   MFRC522_BOOL_FALSE
 
#define MFRC522_BASIC_DEFAULT_TIMER_PRESCALER   0xD3E
 
#define MFRC522_BASIC_DEFAULT_TIMER_RELOAD   0x001E
 

Functions

uint8_t mfrc522_interrupt_irq_handler (void)
 interrupt irq More...
 
uint8_t mfrc522_basic_init (mfrc522_interface_t interface, uint8_t addr, void(*callback)(uint16_t type))
 basic example init More...
 
uint8_t mfrc522_basic_deinit (void)
 basic example deinit More...
 
uint8_t mfrc522_basic_transceiver (uint8_t *in_buf, uint8_t in_len, uint8_t *out_buf, uint8_t *out_len)
 basic example transceiver More...
 
uint8_t mfrc522_basic_calculate_crc (uint8_t *buf, uint8_t len, uint16_t *crc)
 basic example calculate the crc More...
 
uint8_t mfrc522_basic_generate_random (uint8_t buf[25])
 basic example generate the random More...
 

Detailed Description

mfrc522 example driver modules

Macro Definition Documentation

◆ MFRC522_BASIC_DEFAULT_CHANNEL_RECEPTION

#define MFRC522_BASIC_DEFAULT_CHANNEL_RECEPTION   MFRC522_CHANNEL_RECEPTION_STRONGER_FREEZE_SELECTED

stronger channel and freezes the selected channel during communication

Definition at line 75 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CLEAR_TEMPERATURE_ERROR

#define MFRC522_BASIC_DEFAULT_CLEAR_TEMPERATURE_ERROR   MFRC522_BOOL_FALSE

disable

Definition at line 59 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_COLLISION_LEVEL

#define MFRC522_BASIC_DEFAULT_COLLISION_LEVEL   0x4

collision level 4

Definition at line 72 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CONTACTLESS_UART_INPUT

#define MFRC522_BASIC_DEFAULT_CONTACTLESS_UART_INPUT   MFRC522_CONTACTLESS_UART_INTERNAL_ANALOG_MODULE

analog module

Definition at line 103 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CRC_MSB_FIRST

#define MFRC522_BASIC_DEFAULT_CRC_MSB_FIRST   MFRC522_BOOL_FALSE

disable

Definition at line 98 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CRC_PRESET

#define MFRC522_BASIC_DEFAULT_CRC_PRESET   MFRC522_CRC_PRESET_6363

0x6363

Definition at line 101 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CWGSN

#define MFRC522_BASIC_DEFAULT_CWGSN   0x8

cwgsn 0x8

Definition at line 85 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_CWGSP

#define MFRC522_BASIC_DEFAULT_CWGSP   0x20

cwgsp 0x20

Definition at line 87 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_FIX_IQ

#define MFRC522_BASIC_DEFAULT_FIX_IQ   MFRC522_BOOL_FALSE

disable

Definition at line 76 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_FORCE_100_ASK

#define MFRC522_BASIC_DEFAULT_FORCE_100_ASK   MFRC522_BOOL_TRUE

enable

Definition at line 102 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_FORCE_IIC_HIGH_SPEED

#define MFRC522_BASIC_DEFAULT_FORCE_IIC_HIGH_SPEED   MFRC522_BOOL_FALSE

disable

Definition at line 58 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_ERR

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_ERR   MFRC522_BOOL_TRUE

enable

Definition at line 94 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_HI_ALERT

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_HI_ALERT   MFRC522_BOOL_FALSE

disable

Definition at line 92 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_IDLE

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_IDLE   MFRC522_BOOL_TRUE

enable

Definition at line 91 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_LO_ALERT

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_LO_ALERT   MFRC522_BOOL_FALSE

disable

Definition at line 93 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_PIN_INVERT

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_PIN_INVERT   MFRC522_BOOL_TRUE

mfrc522 basic example default definition

enable

Definition at line 56 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_RX

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_RX   MFRC522_BOOL_TRUE

enable

Definition at line 90 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_TIMER

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_TIMER   MFRC522_BOOL_TRUE

enable

Definition at line 95 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT1_TX

#define MFRC522_BASIC_DEFAULT_INTERRUPT1_TX   MFRC522_BOOL_FALSE

disable

Definition at line 89 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT2_CRC

#define MFRC522_BASIC_DEFAULT_INTERRUPT2_CRC   MFRC522_BOOL_TRUE

enable

Definition at line 97 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT2_MFIN_ACT

#define MFRC522_BASIC_DEFAULT_INTERRUPT2_MFIN_ACT   MFRC522_BOOL_FALSE

disable

Definition at line 96 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_INTERRUPT_PIN_TYPE

#define MFRC522_BASIC_DEFAULT_INTERRUPT_PIN_TYPE   MFRC522_INTERRUPT_PIN_TYPE_STANDARD_CMOS

standard cmos

Definition at line 57 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MFIN_POLARITY

#define MFRC522_BASIC_DEFAULT_MFIN_POLARITY   MFRC522_MFIN_POLARITY_HIGH

mfin polarity high

Definition at line 100 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MFOUT_INPUT

#define MFRC522_BASIC_DEFAULT_MFOUT_INPUT   MFRC522_MFOUT_INPUT_3_STATE

3 state

Definition at line 70 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MINI_LEVEL

#define MFRC522_BASIC_DEFAULT_MINI_LEVEL   0x8

mini level 8

Definition at line 71 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MODGSN

#define MFRC522_BASIC_DEFAULT_MODGSN   0x8

modgsn 0x8

Definition at line 86 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MODGSP

#define MFRC522_BASIC_DEFAULT_MODGSP   0x20

modgsp 0x20

Definition at line 88 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MODULATION_INVERT

#define MFRC522_BASIC_DEFAULT_MODULATION_INVERT   MFRC522_BOOL_FALSE

disable

Definition at line 64 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_MODULATION_WIDTH

#define MFRC522_BASIC_DEFAULT_MODULATION_WIDTH   0x26

modulation width 0x26

Definition at line 84 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_PARITY_DISABLE

#define MFRC522_BASIC_DEFAULT_PARITY_DISABLE   MFRC522_BOOL_FALSE

disable

Definition at line 81 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_ALIGN

#define MFRC522_BASIC_DEFAULT_RX_ALIGN   MFRC522_RX_ALIGN_0

align 0

Definition at line 61 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_CRC_GENERATION

#define MFRC522_BASIC_DEFAULT_RX_CRC_GENERATION   MFRC522_BOOL_FALSE

disable

Definition at line 65 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_GAIN

#define MFRC522_BASIC_DEFAULT_RX_GAIN   MFRC522_RX_GAIN_48_DB

rx gain 48 db

Definition at line 105 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_MULTIPLE

#define MFRC522_BASIC_DEFAULT_RX_MULTIPLE   MFRC522_BOOL_FALSE

disable

Definition at line 68 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_NO_ERROR

#define MFRC522_BASIC_DEFAULT_RX_NO_ERROR   MFRC522_BOOL_TRUE

enable

Definition at line 67 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_SPEED

#define MFRC522_BASIC_DEFAULT_RX_SPEED   MFRC522_SPEED_106_KBD

106 kBd

Definition at line 66 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_RX_WAIT

#define MFRC522_BASIC_DEFAULT_RX_WAIT   0x6

rx wait 0x6

Definition at line 104 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T0

#define MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T0   0x07

9600

Definition at line 82 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T1

#define MFRC522_BASIC_DEFAULT_SERIAL_SPEED_T1   0x0B

9600

Definition at line 83 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_AUTO

#define MFRC522_BASIC_DEFAULT_TIMER_AUTO   MFRC522_BOOL_TRUE

enable

Definition at line 106 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_AUTO_RESTART

#define MFRC522_BASIC_DEFAULT_TIMER_AUTO_RESTART   MFRC522_BOOL_FALSE

disable

Definition at line 108 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_RECEPTION

#define MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_RECEPTION   0x3

constant reception 0x3

Definition at line 78 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_SYNC

#define MFRC522_BASIC_DEFAULT_TIMER_CONSTANT_SYNC   0x1

constant sync 0x01

Definition at line 79 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_GATED_MODE

#define MFRC522_BASIC_DEFAULT_TIMER_GATED_MODE   MFRC522_TIMER_GATED_MODE_NONE

gated mode none

Definition at line 107 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_PRESCAL_EVEN

#define MFRC522_BASIC_DEFAULT_TIMER_PRESCAL_EVEN   MFRC522_BOOL_FALSE

disable

Definition at line 77 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_PRESCALER

#define MFRC522_BASIC_DEFAULT_TIMER_PRESCALER   0xD3E

0xD3E

Definition at line 109 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TIMER_RELOAD

#define MFRC522_BASIC_DEFAULT_TIMER_RELOAD   0x001E

0x001E

Definition at line 110 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TX_CRC_GENERATION

#define MFRC522_BASIC_DEFAULT_TX_CRC_GENERATION   MFRC522_BOOL_FALSE

disable

Definition at line 62 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TX_INPUT

#define MFRC522_BASIC_DEFAULT_TX_INPUT   MFRC522_TX_INPUT_INTERNAL_ENCODER

internal encoder

Definition at line 69 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TX_SPEED

#define MFRC522_BASIC_DEFAULT_TX_SPEED   MFRC522_SPEED_106_KBD

106 kBd

Definition at line 63 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TX_WAIT

#define MFRC522_BASIC_DEFAULT_TX_WAIT   0x2

tx wait 0x2

Definition at line 80 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_TX_WAIT_RF

#define MFRC522_BASIC_DEFAULT_TX_WAIT_RF   MFRC522_BOOL_TRUE

enable

Definition at line 99 of file driver_mfrc522_basic.h.

◆ MFRC522_BASIC_DEFAULT_WATER_LEVEL

#define MFRC522_BASIC_DEFAULT_WATER_LEVEL   8

water level

Definition at line 60 of file driver_mfrc522_basic.h.

Function Documentation

◆ mfrc522_basic_calculate_crc()

uint8_t mfrc522_basic_calculate_crc ( uint8_t *  buf,
uint8_t  len,
uint16_t *  crc 
)

basic example calculate the crc

Parameters
[in]*bufpointer to a buffer
[in]lenbuffer length
[out]*crcpointer to a crc buffer
Returns
status code
  • 0 success
  • 1 calculate crc failed
Note
none

Definition at line 1023 of file driver_mfrc522_basic.c.

◆ mfrc522_basic_deinit()

uint8_t mfrc522_basic_deinit ( void  )

basic example deinit

Returns
status code
  • 0 success
  • 1 deinit failed
Note
none

Definition at line 723 of file driver_mfrc522_basic.c.

◆ mfrc522_basic_generate_random()

uint8_t mfrc522_basic_generate_random ( uint8_t  buf[25])

basic example generate the random

Parameters
[out]*bufpointer to a random buffer
Returns
status code
  • 0 success
  • 1 generate random failed
Note
none

Definition at line 986 of file driver_mfrc522_basic.c.

◆ mfrc522_basic_init()

uint8_t mfrc522_basic_init ( mfrc522_interface_t  interface,
uint8_t  addr,
void(*)(uint16_t type)  callback 
)

basic example init

Parameters
[in]interfacebus interface
[in]addriic device address
[in]*callbackpointer to a callback function
Returns
status code
  • 0 success
  • 1 init failed
Note
none

Definition at line 70 of file driver_mfrc522_basic.c.

◆ mfrc522_basic_transceiver()

uint8_t mfrc522_basic_transceiver ( uint8_t *  in_buf,
uint8_t  in_len,
uint8_t *  out_buf,
uint8_t *  out_len 
)

basic example transceiver

Parameters
[in]*in_bufpointer to a input buffer
[in]in_leninput length
[out]*out_bufpointer to a output buffer
[in,out]*out_lenpointer to a output length buffer
Returns
status code
  • 0 success
  • 1 transceiver failed
Note
none

Definition at line 762 of file driver_mfrc522_basic.c.

◆ mfrc522_interrupt_irq_handler()

uint8_t mfrc522_interrupt_irq_handler ( void  )

interrupt irq

Returns
status code
  • 0 success
  • 1 run failed
Note
none

Definition at line 48 of file driver_mfrc522_basic.c.