在用STM32F+FM17580去读卡时,遇到寻到卡且读出来的卡类型(上面函数获取)与实际卡类型不符时,把卡挪开后重新再读时还是一样除非重新复位FM17580芯片,否则一直错误。不知各个大神有没有遇到这个问题,如何解决。
//*************************************
//函数 名:ReaderA_Wakeup
//入口参数:
//出口参数:FM175XX_SUCCESS, FM175XX_COMM_ERR
//*************************************
unsigned char ReaderA_Wakeup(void)
{
unsigned char reg_data;
SetReg(JREG_TXMODE,0);//Disable TxCRC
SetReg(JREG_RXMODE,0);//Disable RxCRC
SetReg(JREG_COMMAND,CMD_IDLE);//command = Idel
SetReg(JREG_FIFOLEVEL,JBIT_FLUSHFIFO);//Clear FIFO
SetReg(JREG_FIFODATA,RF_CMD_WUPA);
SetReg(JREG_COMMAND,CMD_TRANSCEIVE);//command = Transceive
SetReg(JREG_BITFRAMING,0x87);//Start Send
mDelay(1);//Wait 1ms
GetReg(JREG_FIFOLEVEL,®_data);
if(reg_data == 2)
{
GetReg(JREG_FIFODATA,PICC_A.ATQA);
GetReg(JREG_FIFODATA,PICC_A.ATQA+1);
return FM175XX_SUCCESS;
}
return FM175XX_COMM_ERR;
}
|