基于MCF52235 的RFID 通用開發(fā)平臺設(shè)計(jì)
void hw_fec_init (uint8 mac_addr_fec [6];//FEC初始化
int8 hw_fec_sendframe (uint8 ch [], uint8destAdd[6], uint8 srcAdd[6], uint16 lenType, uint16len);//發(fā)送單個(gè)以太網(wǎng)幀
uint8 hw_fec_receiveframe(uint8 ch[], uint16 *len);//接收單個(gè)以太網(wǎng)幀
uint hw_icmp_handle(PACKET p);//處理接收到的ICMP 包,響應(yīng)ping 請求
int hw_udp_send (unshort fport, unshort lport,
PACKET p);//發(fā)送UDP 包
//==================================
RC531 射頻模塊與MCF52235 通信嚴(yán)格按照串行通信時(shí)序要求。 RC531 與ISO/IEC 14443 TypeA 和Type B 卡通信,則按照A、B 卡調(diào)制和編碼的方式設(shè)置相關(guān)的寄存器,并根據(jù)ISO/IEC 14443 協(xié)議來設(shè)計(jì)軟件即可。 讀卡器與A、B 卡之間的通信是按照應(yīng)答方式來進(jìn)行的,非接觸式的卡有很多工作狀態(tài),各個(gè)狀態(tài)的轉(zhuǎn)化可通過讀卡器向卡發(fā)送一系列命令完成。 射頻構(gòu)件的接口函數(shù)說明如下所示:
// ==操作Type A 卡的部分主要函數(shù)======
void pcdinit();//R 初始化
char pcdreset();//RC531 復(fù)位
char pcdrequest(uint8 req_code);//尋卡
char pcdanticoll(uint8 *snr);//防碰撞
char pcdselect(uint8 *snr);//選定一張卡
// =========操作Type B 卡的函數(shù)========
void pcdinitB();//B 卡初始化
char pcdrequestB(uint8 *pupi);//尋B 卡
char pcdattrib(uint8 *pupi);// 發(fā)送attrib 命令
char pcdhaltB(uint8 *pupi);// B 卡掛起
char pcdgetUID (uint8 *snr, uint8 *len); //獲得B 卡的ID
//==================================
MCF52235 與LCD 構(gòu)件的通信同樣采用串行方式。 串行通信的一次數(shù)據(jù)分3 個(gè)字節(jié)傳輸。 第一個(gè)字節(jié)數(shù)據(jù)格式為11111AB0,表示串行控制,A 是選擇數(shù)據(jù)方向,1 表示LCD 到MCF52235,0 表示MCF52235 到LCD. B 是選擇數(shù)據(jù)類型,1 表示數(shù)據(jù)為顯示
評論