| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #ifndef __USER_NFC_H_
- #define __USER_NFC_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <stdio.h>
- #include <stdlib.h>
- #include "define.h"
- #include "fm175xx.h"
- #define USER_NFC_INTERVAL 10
- #define USER_NFC_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
- #define LEFT_CS_GPIO GPIOB
- #define LEFT_CS_PIN GPIO_Pin_4
- #define LEFT_CS_ON GPIO_WriteBit(LEFT_CS_GPIO, LEFT_CS_PIN, Bit_RESET);
- #define LEFT_CS_OFF GPIO_WriteBit(LEFT_CS_GPIO, LEFT_CS_PIN, Bit_SET);
-
- #define RIGHT_CS_GPIO GPIOB
- #define RIGHT_CS_PIN GPIO_Pin_0
- #define RIGHT_CS_ON GPIO_WriteBit(RIGHT_CS_GPIO, RIGHT_CS_PIN, Bit_RESET);
- #define RIGHT_CS_OFF GPIO_WriteBit(RIGHT_CS_GPIO, RIGHT_CS_PIN, Bit_SET);
-
- #define LEFT_RST_GPIO GPIOB
- #define LEFT_RST_PIN GPIO_Pin_6
- #define LEFT_RST_DISABLE GPIO_WriteBit(LEFT_RST_GPIO, LEFT_RST_PIN, Bit_SET);
- #define LEFT_RST_ENABLE GPIO_WriteBit(LEFT_RST_GPIO, LEFT_RST_PIN, Bit_RESET);
-
- #define RIGHT_RST_GPIO GPIOC
- #define RIGHT_RST_PIN GPIO_Pin_4
- #define RIGHT_RST_DISABLE GPIO_WriteBit(RIGHT_RST_GPIO, RIGHT_RST_PIN, Bit_SET);
- #define RIGHT_RST_ENABLE GPIO_WriteBit(RIGHT_RST_GPIO, RIGHT_RST_PIN, Bit_RESET);
- #define LEFT_IRQ_GPIO GPIOB
- #define LEFT_IRQ_PIN GPIO_Pin_5
- #define LEFT_IRQ_IN GPIO_ReadInputDataBit(LEFT_IRQ_GPIO, LEFT_IRQ_PIN)
- #define RIGHT_IRQ_GPIO GPIOC
- #define RIGHT_IRQ_PIN GPIO_Pin_5
- #define RIGHT_IRQ_IN GPIO_ReadInputDataBit(RIGHT_IRQ_GPIO, RIGHT_IRQ_PIN)
- #define ID_LOSE_DELAY_COUNT 2
- typedef enum{
- NFC_TYPE_RST_START,
- NFC_TYPE_RST_END,
- LEFT_TYPE_INIT,
- RIGHT_TYPE_INIT,
- LEFT_TYPE_CARD_CHECK,
- RIGHT_TYPE_CARD_CHECK,
- NFC_CARD_CHECK_DELAY,
- }nfc_work_type_e;
- typedef enum{
- NFC_CARD_NULL,
- NFC_CARD_IN,
- NFC_CARD_NO,
- }nfc_card_stat_e;
- typedef struct{
- nfc_work_type_e work_type;
- uint32_t nfc_delay_count;
- bool left_init_stat;
- bool right_init_stat;
- uint8_t left_loss_delay;
- uint8_t right_loss_delay;
- uint8_t left_ver;
- uint32_t left_ID;
- uint8_t right_ver;
- uint32_t right_ID;
- nfc_card_stat_e left_card_stat;
- nfc_card_stat_e right_card_stat;
- unsigned char left_idA[8];
- unsigned char right_idA[8];
- unsigned char left_idB[10];
- unsigned char right_idB[10];
- bool left_charge_stat;
- bool right_charge_stat;
- }nfc_work_s;
- typedef enum
- {
- NFC_QUEUE_TIME = 0,
- }USER_NFC_QUEUE_TYPE;
- unsigned char ReadRawRC(unsigned char Address);
- void WriteRawRC(unsigned char Address, unsigned char value);
- void SetBitMask(unsigned char reg,unsigned char mask);
- void ClearBitMask(unsigned char reg,unsigned char mask);
- void NFC_HardReset(void);
- void NFC_HardPowerdown(uint8_t mode);
- typedef void (*vUser_nfc_upload_card_stat_func)(uint8_t idx, bool stat, unsigned char *card);
- void vUser_nfc_init(void);
- void vUser_nfc_task_start(void);
- void vUser_nfc_set_upload_key_stat_func(vUser_nfc_upload_card_stat_func func);
- void vUser_nfc_set_charge_stat(uint8_t idx, bool stat);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __USER_NFC_H_ */
|