?? main.c
字號:
//------------------------------------------------------------------------*
//工 程 名:JB8_IO_SPI.prj *
//硬件連接:讀寫模塊為標準DIP40封裝 *
//說 明: *
// (1)運行指示燈長閃爍3次表示初始化成功 *
// (2)運行指示燈短閃爍1次表示讀卡成功 *
// (3)UID信息存儲在內存中的Card_inform[]數組中,首字節表示電子標簽類型*
// (4)外部控制系統通過SPI接口與讀寫模塊通信,每次交互1個字節。讀寫模 *
// 塊作為SPI從機,響應SPI主機的從機選擇信號,根據前一次接收的數據, *
// 發送相應的讀寫模塊獲取的電子標簽UID信息(詳見鍵盤中斷處理函數) *
//------------------------------------------------------------------------*
//總頭文件
#include "Includes.h"
//主函數
void main()
{
INT8U JB8_RSTState; //JB8復位狀態標志位 0-成功 ,1-失敗
INT8U CardA_OK,CardB_OK;
INT8U i;
INT8U UIDLen;
INT8U UID[11];
JB8_RSTState = 0;
//初始化
DisableMCUint(); //禁止總中斷
MCUinit(); //芯片初始化
LEDinit(); //運行指示燈初始化
SPI0Init(); //SPI0初始化(與NE64通信)模擬從機
Card_inform[0] = 'A';//UID數據數組,Card_inform[0]:“A”-A卡,“B”-B卡
EnableKBint(); //開放鍵盤中斷,響應從機選擇
EnableMCUint(); //開總中斷
LED_Spark(3, 'L'); //運行指示燈長閃爍3次,表明初始化成功
//總循環
while (1)
{
//復位及初始化RC531
JB8_RSTState = RFReset();
//ISO14443A 處理部分
RC531_14443ABInit(1); //按ISO14443A標準設置相關寄存器
CardA_OK = ReadTag(1, &UIDLen, UID); //讀TypeA卡
if(CardA_OK == 0)
{
//獲取A卡UID成功,并記錄UID信息
Card_inform[0] = 'A';
for(i = 0; i < 5; i++)
Card_inform[i + 1] = UID[i];
LED_Spark(1, 'S'); //運行指示燈短閃爍一次,表明讀卡成功
}
//ISO14443B 處理部分
RC531_14443ABInit(0); //按ISO14443B標準設置相關寄存器
CardB_OK = ReadTag(0, &UIDLen, UID); //讀TypeB卡
if(CardB_OK == 0)
{
//獲取B卡卡號成功,并記錄UID信息
Card_inform[0] = 'B';
for(i = 0; i < 10; i++)
Card_inform[i + 1] = UID[i];
LED_Spark(1, 'S'); //運行指示燈短閃爍一次,表明讀卡成功
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -