• 大小: 410KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: 其他
  • 标签: LPC11C14  CY1444  RFID  

资源简介

基于M0的LPC11C14射频模块例程,射频模块采用的是CY1444芯片,包含RFID相关代码。

资源截图

代码片段和文件信息

/*******************************************************************************
* File:    rfid.c 
* Author:  FarSight Design Team
* Version: V1.00
* Date:    2011.06.21
* Brief:   RFID program
*******************************************************************************/ 

/* Includes ------------------------------------------------------------------*/
#include 
#include “LPC11xx.h“
#include “gpio.h“
#include “ssp.h“
#include “oled2864.h“
#include “key.h“
#include “tools.h“
#include “rfid.h“
#include “menu.h“
#include “scp.h“
#include “spi_uart.h“

/* Private typedef -----------------------------------------------------------*/
//LPC11C14通过SPI总线向CY1444传送的命令 (这些命令是CY1444指令系统定义好的,具体可以查看其通讯指令表)
//其中第一个字节表示整个命令码长度,第二个字节表命令字(可以特定转换为要接收的信息长度),后面的表示数据域内容
const uint8_t RFID_READ_MOD_TYPE_01[2] = {0x02 0x01}; //读头型
const uint8_t RFID_READ_TYPE_19[2] = {0x02 0x19}; //读卡类型
const uint8_t RFID_READ_CARD_20[2] = {0x02 0x20}; //读卡序列号

//读数据块,第三个字节开始的内容表示:密钥标志+字节块号+6字节的密匙
const uint8_t RFID_READ_DATA_BLOCK_21[10] =  {0x0a 0x21 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff}; 

//写数据块,第二行到第三行表示要写入数据块的内容
const uint8_t RFID_WRITE_DATA_BLOCK_22[26] = {0x1a 0x22 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff
                                              0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07
      0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f}; 


/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/


/*******************************************************************************
* Function Name  : RFID_INT_Init
* Description    : Init PIO2_8
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RFID_INT_Init(void)
{  
   GPIOSetDir(PORT280);//PIO2_8引脚输入状态,接收中断信号
   GPIOSetValue(PORT280);   
   GPIOSetInterrupt(PORT28000);//引脚的中断触发方式为下降沿触发
   GPIOIntEnable(PORT28); //PIO2_8中断使能
}

/*******************************************************************************
* Function Name  : Read_Goods
* Description    : Read_Goods
* Input          : None
* Output         : None
* Return         : 1:success 0:fail
*******************************************************************************/
//模拟获取仓库货物信息,当刷卡时,OLED屏幕显示卡号信息,并通过ZigBee向A8板发送该信息
uint8_t Read_Goods(void)
{
  int irst=0 ;
  uint16_t x;
  uint8_t rbuf[36] chksum;
  char buf[8];
  uint32_t n j;

 if (p2_8_counter > 1) //p2_8_counter 表PIO2_8的中断标志位,初值为0,若发生中断,则中断处理函数将其加1;(这里大于1是因为开发板复位时也发生一次中断)
 {   
    if(!GPIOGetValue(PORT2 8))//有卡靠近RFID模块时主芯片PIO2_8引脚输入低电平
   { 
  while(1)
  {
      j = RFID_Operate((uint8_t *)RFID_READ_CARD_20 rbuf);  //一次SPI通信,主设备发送命令,从设备响应并传回相关信息;函数返回应答命令码+校验码长度
 
      printf(“\r\n“);
      for(n=2 x=0; (j>=7)&&(n

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      377342  2010-05-27 07:31  M0_RFID模块解析\CY14443 SPI接口模块使用说明.pdf
     文件       88064  2013-01-30 10:59  M0_RFID模块解析\LPC11C14射频模块.doc
     目录           0  2018-08-30 11:49  M0_RFID模块解析\RFID代码\
     文件       10137  2013-01-30 14:04  M0_RFID模块解析\RFID代码\rfid.c
     文件       20275  2013-01-21 19:43  M0_RFID模块解析\RFID代码\ssp.c
     目录           0  2018-08-30 11:49  M0_RFID模块解析\

评论

共有 条评论