資源簡介
支持NFC卡AB卡讀寫,低功耗模式設置,用于STM32F103,可以直接添加在工程中編譯,注意修改SPI配置與硬件一致,確保通信正常。

代碼片段和文件信息
/**--------------File?Info---------------------------------------------------------------------------------
**?File?name:???????????type_a.c
**?Last?modified?Date:??2016-3-14
**?Last?Version:????????V1.00
**?Descriptions:????????ISO/IEC144443A卡相關操作
**
**--------------------------------------------------------------------------------------------------------
*/
#include?
#include?“fm175xx.h“
#include?????
#include?“stm32f10x.h“
#include?“nfcSpi.h“
#include?“delay.h“
#include?“includes.h“
#include?“type_a.h“
#include?“type_b.h“
#define?MI_NOTAGERR?0xEE
#define?MAXRLEN?64
/*********************************************************************************************************
**?Function?name:???????pcd_Init
**?input?parameters:????N/A
**?output?parameters:???N/A
**?Returned?value:??????
*********************************************************************************************************/
void?CD_CfgTPD(void){
GPIO_InitTypeDef?GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC?ENABLE);
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_Init(GPIOC?&GPIO_InitStructure);
}
void?CD_SetTPD(void){
GPIO_SetBits(?GPIOC?GPIO_Pin_7?);
}
void?CD_ClrTPD(void){
GPIO_ResetBits(?GPIOC?GPIO_Pin_7?);
}
void?pcd_Init(void)
{
????nfcSpiInit();
????CD_CfgTPD();????????????????????????????????????????????????????????/*?配置復位管腳?????????????????*/
}
/*********************************************************************************************************
**?Function?name:???????MCU_TO_PCD_TEST
**?Descriptions:????????MCU與讀卡芯片通信測試函數
**??????????????????????不同的讀卡芯片的選取用于測試的寄存器不一樣,需要更具具體芯片而確定目標寄存器
**?input?parameters:????N/A
**?output?parameters:???N/A
**?Returned?value:??????TRUE---測試通過????FALSE----測試失敗
*********************************************************************************************************/
uint8_t?MCU_TO_PCD_TEST(void)
{
????volatile?uint8_t?ucRegVal;
????pcd_RST();??????????????????????????????????????????????????????????/*?硬件復位?????????????????????*/
????ucRegVal?=?spi_GetReg(ControlReg);
????spi_SetReg(ControlReg?0x10);???????????????????????????????????????/*?啟動讀寫器模式???????????????*/
????ucRegVal?=?spi_GetReg(ControlReg);
????spi_SetReg(GsNReg?0xF0?|?0x04);????????????????????????????????????/*?CWGsN?=?0xF;?ModGsN?=?0x4????*/
????ucRegVal?=?spi_GetReg(GsNReg);
????if(ucRegVal?!=?0xF4)????????????????????????????????????????????????/*?驗證接口正確?????????????????*/
????????return?FALSE;
????return?TRUE;
}
/*********************************************************************************************************
**?Function?name:???????pcd_RST
**?Descriptions:????????PCD控制PICC硬件復位函數
**?input?parameters:????N/A
**?output?parameters:???N/A
**?Returned?value:??????寄存器數值
********************************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????23697??2018-12-15?15:08??FM1755\fm175xx.c
?????文件???????3237??2018-08-21?17:05??FM1755\fm175xx.h
?????文件??????22413??2018-09-25?09:47??FM1755\lpcd_api.c
?????文件???????2508??2017-08-08?15:35??FM1755\LPCD_API.h
?????文件???????3008??2018-10-10?15:39??FM1755\LPCD_CFG.h
?????文件???????4907??2018-08-21?17:16??FM1755\lpcd_regctrl.c
?????文件???????9050??2018-12-07?15:24??FM1755\nfcSpi.c
?????文件????????609??2018-12-07?15:22??FM1755\nfcSpi.h
?????文件??????13495??2018-09-25?09:29??FM1755\nfcTest.c
?????文件??????23256??2018-10-10?17:03??FM1755\type_a.c
?????文件????????654??2018-09-28?12:01??FM1755\type_a.h
?????文件??????11583??2018-10-10?17:15??FM1755\type_b.c
?????文件????????563??2018-09-28?13:43??FM1755\type_b.h
?????目錄??????????0??2018-12-15?15:08??FM1755
-----------?---------??----------?-----??----
???????????????118980????????????????????14
評論
共有 條評論