|
#include "stm32f10x.h"
#include "bsp_SysTick.h"
#include "bsp_usart1.h"
#include "rc522_config.h"
#include "rc522_function.h"
#include <stdbool.h>
#include "bsp_lcd.h"
#include "./font/fonts.h"
/**
* @brief 测试函数
* @param 无
* @retval 无
*/
void IC_test ( void )
{
//char cStr [ 30 ];
uint8_t ucArray_ID [ 4 ]; /*先后存放IC卡的类型和UID(IC卡序列号)*/
uint8_t ucStatusReturn; /*返回状态 */
char asc_16[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
static uint8_t ucLineCount = 0;
while ( 1 )
{ //printf ( "ready");
/*寻卡*/
if ( ( ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ) ) != MI_OK )
/*若失败再次寻卡*/
ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID );
if ( ucStatusReturn == MI_OK )
{
/*防冲撞(当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作)*/
if ( PcdAnticoll ( ucArray_ID ) == MI_OK )
{
printf ("The Card ID is: %c\n\n",
asc_16[ucArray_ID [ 0 ]/16]
);
//printf ( "%s\r\n",cStr );
//ILI9341_DispStringLine_EN(LINE(ucLineCount), cStr );
ucLineCount ++;
if ( ucLineCount == 10 ) ucLineCount = 0;
}
}
}
}
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main ( void )
{
/*滴答时钟初始化*/
SysTick_Init ();
/*USART1 配置模式为 115200 8-N-1,中断接收 */
USART1_Config ();
/*RC522模块所需外设的初始化配置*/
RC522_Init ();
/*LCD 初始化*/
//LCD_Init ();
//ILI9341_GramScan ( 6 );
printf ( "WF-RC522 Test\n" );
//LCD_SetFont(&Font8x16);
//LCD_SetColors(RED,BLACK);
/* 清屏,显示全黑 */
//ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);
//ILI9341_DispStringLine_EN(LINE(13),
printf("Please put the IC card on WF-RC522 antenna area ..." );
//LCD_SetTextColor(BLUE);
PcdReset ();
/*设置工作方式*/
M500PcdConfigISOType ( 'A' );
while ( 1 )
{
/*IC卡检测 */
IC_test ();
}
}
/****************************END OF FILE**********************/
|
|