Smart Card Standard ISO7816 driver.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include "iso7816.h"
Macros | |
#define | CASE1 1 |
Case for APDU commands. More... | |
#define | CASE2 2 |
#define | CASE3 3 |
#define | ISO7816_USART USART0 |
Checking board configuration of the ISO7816 handler. More... | |
#define | ISO_NULL_VAL 0x60 |
NULL byte to restart byte procedure. More... | |
#define | RST_WAIT_TIME 120 |
Reset wait time. More... | |
#define | RX_TIMEOUT 12000 |
Receive timeout. More... | |
#define | USART_RCV 1 |
#define | USART_SEND 0 |
Flip flop for send and receive char. More... | |
Functions | |
void | iso7816_cold_reset (void) |
Cold reset. More... | |
void | iso7816_data_block_atr (uint8_t *p_atr, uint8_t *p_length) |
Answer To Reset (ATR). More... | |
void | iso7816_decode_atr (uint8_t *p_atr) |
Decode ATR trace. More... | |
static uint32_t | iso7816_get_char (uint8_t *p_char_received) |
Get a character from ISO7816. More... | |
uint8_t | iso7816_get_reset_statuts (void) |
Pin status for ISO7816 RESET PIN. More... | |
void | iso7816_icc_power_off (void) |
ISO7816 ICC power off. More... | |
static void | iso7816_icc_power_on (void) |
ISO7816 ICC power on. More... | |
void | iso7816_init (const usart_iso7816_opt_t *p_usart_opt, uint32_t ul_mck, uint32_t ul_rst_pin_idx) |
Initializes a ISO7816 interface device. More... | |
static uint32_t | iso7816_send_char (uint8_t uc_char) |
Send a char to ISO7816. More... | |
void | iso7816_warm_reset (void) |
Warm reset. More... | |
uint16_t | iso7816_xfr_block_tpdu_t0 (const uint8_t *p_apdu, uint8_t *p_message, uint16_t us_length) |
Transfer Block TPDU T = 0. More... | |
Variables | |
volatile uint32_t | g_ul_clk |
Define the main clock of the system. More... | |
static uint8_t | gs_uc_state = USART_RCV |
Variable for state of send and receive from USART. More... | |
uint32_t | gs_ul_rst_pin_idx |
Card reset PIN. More... | |