亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rf500fun.c

?? RC522完整程序無需修改可放心使用
?? C
字號:
#include  "my_head.h"
#include  "RFIC.h"
/*************************************/
#define   RF_RST     P2_5
#define   RF_CS      P3_2       //INT0
#define   RF_SCLK    P3_4
#define   RF_SDAT    P3_5
/*************************************/
#define   RF_OPEN()	 IE0=0;EX0=1;
#define	  RF_CLOSE() EX0=0;

BYTE   idata  rf_buffer[26];
bit    newdata  = 0;

void  Rf_Int0(void) interrupt 0 using 1  //rf_rcv(rf_buffer);
{
   BYTE  Rf_count;
   BYTE  ii,jj,ch;
   RF_SCLK = 0;
   RF_SDAT = 1;
   for(ii=10;ii--;);//delay;
   Rf_count= 0;
   while(!RF_CS)
   {
    for(ii=0;ii<8;ii++)
      {
	   RF_SCLK = 1;ch <<=1;
	   ch |= RF_SDAT;for(jj=2;jj--;);//delay;
	   RF_SCLK = 0;for(jj=2;jj--;);//delay;
	  }
    rf_buffer[Rf_count]= ch;
	if(++Rf_count==26)break;
   }
   RF_SDAT = 0;

   newdata = 1;
}


void  Rf_Init(void)
{
  EA  =  0;

  IP  &= ~0X01;     //X0優先級0
  //IPH &= ~0X01;
  IT0   = 1;        //INT1 is falling edg trig

  RF_CLOSE();
  EA  =  1;

  RF_CS   = 1;
  RF_SCLK = 0;
  RF_SDAT = 0;

  RF_RST = 0; delay_ms(45);
  RF_RST = 1; delay_ms(45);
}


BYTE  rf_send(BYTE *buf,BYTE count)
{
    BYTE  ii,jj,ch;

    RF_CLOSE();

	RF_SDAT  = 1;
	RF_SCLK  = 0;

    Set_Timer20ms(3);
    while(RF_SDAT)if(!Get_Timer20ms())return(RF_ERR);

	RF_CS  = 0;

    Set_Timer20ms(3);
    while(!RF_SDAT)if(!Get_Timer20ms())return(RF_ERR);
	for(ii=0;ii<count;ii++)
    {
	 ch=buf[ii];
	 for(jj=0;jj<8;jj++)
	  {
	   RF_SDAT = (bit)(ch&0x80);do_nop(1);
	   RF_SCLK = 1;do_nop(3);
	   RF_SCLK = 0;ch<<=1;do_nop(1);
	  }
	}

	RF_CS    = 1;
	RF_SDAT  = 0;
	//TR1    = 0;
    return(RF_OK);
}


BYTE rf500cmd(BYTE length)
{
	BYTE i,BCC_sum,rf_wdg=10;

	rf_buffer[length]=rf_buffer[0];
	for(i=1;i<length;i++)
	{
	  rf_buffer[length]^=rf_buffer[i];
	}
	rf_buffer[length]=~rf_buffer[length];
	
	if(rf_send(rf_buffer,length+1)!=RF_OK)
	{
	   SendStr("test1\n",7);//for test!
	   return RF_ERR;
	}

	RF_OPEN();
	while(!newdata && rf_wdg)
	{
      if(!Get_Timer20ms())
        {
		  Set_Timer20ms(3);
		  rf_wdg--;
		}
	}
	RF_CLOSE();
	
	if(newdata==0)
	{
	   //SendStr("test2\n",7);//for test!
	   return RF_ERR;
	}
	newdata=0;
	
	BCC_sum= rf_buffer[0];
	rf_wdg = rf_buffer[LENGTH]+3;
	for(i=1;i<rf_wdg;i++)
	{
		BCC_sum^=rf_buffer[i];
	}
	if(BCC_sum==~rf_buffer[rf_wdg])
	{
     	//SendStr("test3\n",7);//for test!
     	return RF_OK;
    }

    //SendStr(rf_buffer,Rf_count);//for test!
   	//SendStr("test4\n",7);//for test!
	return MI_CRCERR;
}


BYTE mifs_request(BYTE _Mode,BYTE idata *_TagType)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x41;
	rf_buffer[LENGTH]=0x01;
	rf_buffer[MODE]=_Mode;
	
	if(rf500cmd(4)!=RF_OK)return RF_ERR;
	
	if(rf_buffer[STATUS]==MI_OK)
	{
	  _TagType[0]=rf_buffer[TAGTYPE];
	  _TagType[1]=rf_buffer[TAGTYPE+1];
	}
	return rf_buffer[STATUS];
}


BYTE mifs_anticoll(BYTE _Bcnt,BYTE idata *_SNR)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x42;
	rf_buffer[LENGTH]=0x01;
	rf_buffer[MODE]=_Bcnt;
	
	if(rf500cmd(4)!=RF_OK)return RF_ERR;

	if(rf_buffer[STATUS]==MI_OK)
	{
		memcpy(_SNR,&rf_buffer[SERNR],4);
	}
	return rf_buffer[STATUS];
}


BYTE mifs_select(BYTE idata *_SNR,BYTE idata *_Size)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x43;
	rf_buffer[LENGTH]=0x04;
	memcpy(&rf_buffer[SERNR],_SNR,4);
		
	if(rf500cmd(7)!=RF_OK)return RF_ERR;
		
	if(rf_buffer[STATUS]==MI_OK)
	{
		*_Size=rf_buffer[SIZE];
	}
	return rf_buffer[STATUS];
}


BYTE mifs_authentication(BYTE _Mode,BYTE _SecNr)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x44;
	rf_buffer[LENGTH]=0x02;
	rf_buffer[MODE]=_Mode;
	rf_buffer[SECNR]=_SecNr;
	
	if(rf500cmd(5)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];	
}

/*
BYTE mifs_authentication2(BYTE _Mode,BYTE _SecNr,BYTE _KeyNr)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x72;
	rf_buffer[LENGTH]=0x03;
	rf_buffer[MODE]=_Mode;
	rf_buffer[SECNR]=_SecNr;
	rf_buffer[DATA+2]=_KeyNr;
	
	if(rf500cmd(6)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];	
}
*/


BYTE mifs_authKey(BYTE _Mode,BYTE _SecNr,BYTE *_Key)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x73;
	rf_buffer[LENGTH]=0x08;
	rf_buffer[DATA]=_Mode;
	rf_buffer[DATA+1]=_SecNr;
	memcpy(&rf_buffer[DATA+2],_Key,6);
		
	if(rf500cmd(11)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

BYTE mifs_halt(void)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x45;
	rf_buffer[LENGTH]=0x00;
	
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}


BYTE mifs_read(BYTE _Adr,BYTE idata *_Data)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x46;
	rf_buffer[LENGTH]=0x01;
	rf_buffer[ADR]=_Adr;
		
	if(rf500cmd(4)!=RF_OK)return RF_ERR;
		
	if(rf_buffer[STATUS]==MI_OK)
	{
		memcpy(_Data,&rf_buffer[DATABYTES-1],16);
	}
	return rf_buffer[STATUS];		
}


BYTE mifs_write(BYTE _Adr,BYTE idata *_Data)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x47;
	rf_buffer[LENGTH]=17;
	rf_buffer[ADR]=_Adr;
	memcpy(&rf_buffer[DATABYTES],_Data,16);
		
	if(rf500cmd(20)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];		
}

/*
BYTE mifs_increment(BYTE _Adr,long idata *_Value)
{
    BYTE *temp=(BYTE *)_Value;
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x48;
	rf_buffer[LENGTH]=5;
	rf_buffer[ADR]=_Adr;
	rf_buffer[VALUE]=*(temp+3);
	rf_buffer[VALUE+1]=*(temp+2);
	rf_buffer[VALUE+2]=*(temp+1);
	rf_buffer[VALUE+3]=*temp;
			
	if(rf500cmd(8)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}


BYTE mifs_decrement(BYTE _Adr,long idata *_Value)
{
	BYTE *temp=(BYTE *)_Value;
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x49;
	rf_buffer[LENGTH]=5;
	rf_buffer[ADR]=_Adr;
	rf_buffer[VALUE]=*(temp+3);
	rf_buffer[VALUE+1]=*(temp+2);
	rf_buffer[VALUE+2]=*(temp+1);
	rf_buffer[VALUE+3]=*temp;
			
	if(rf500cmd(8)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}


BYTE mifs_restore(BYTE _Adr)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x4A;
	rf_buffer[LENGTH]=1;
	rf_buffer[ADR]=_Adr;
	
	if(rf500cmd(4)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];	
}


BYTE mifs_transfer(BYTE _Adr)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x4B;
	rf_buffer[LENGTH]=1;
	rf_buffer[ADR]=_Adr;
	
	if(rf500cmd(4)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}
*/

BYTE mifs_load_key(BYTE _Mode,BYTE _SecNr,BYTE *_Nkey)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x4C;
	rf_buffer[LENGTH]=0x08;
	rf_buffer[MODE]=_Mode;
	rf_buffer[SECNR]=_SecNr;
	memcpy(&rf_buffer[NKEY],_Nkey,6);
	
	if(rf500cmd(11)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

BYTE mifs_reset(BYTE _Msec)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x4E;
	rf_buffer[LENGTH]=1;
	rf_buffer[TIME]=_Msec;
	
	if(rf500cmd(4)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

/*
BYTE mifs_get_info(BYTE idata *_Info)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x4F;
	rf_buffer[LENGTH]=0;
	
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
		
	if(rf_buffer[STATUS]==MI_OK)
	{
		memcpy(_Info,&rf_buffer[INFO],rf_buffer[LENGTH]);
	}
	return rf_buffer[STATUS];	
}

BYTE mifs_close(void)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x3F;
	rf_buffer[LENGTH]=0;
	
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}
*/

BYTE mifs_config(void)
{
	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x52;
	rf_buffer[LENGTH]=0;
	
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}


/*
BYTE mifs_check_write(BYTE idata *_SNR,BYTE _Authmode,BYTE _Adr,BYTE idata *_Data)
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x53;
	rf_buffer[LENGTH]=22;
	memcpy(&rf_buffer[SERNR],_SNR,4);
	rf_buffer[AUTHMODE]=_Authmode;
	rf_buffer[ADRCHKWR]=_Adr;
	memcpy(&rf_buffer[DATACHKWR],_Data,16);
	
	if(rf500cmd(25)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}


BYTE mifs_set_control_bit()
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x50;
	rf_buffer[LENGTH]=0;
			
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

BYTE mifs_clr_control_bit()
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x51;
	rf_buffer[LENGTH]=0;
			
	if(rf500cmd(3)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

BYTE mifs_buzzer(BYTE _Frquence,BYTE _10ms)
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x60;
	rf_buffer[LENGTH]=2;
	rf_buffer[3]=_Frquence;
	rf_buffer[4]=_10ms;
		
	if(rf500cmd(5)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}

BYTE mifs_read_E2(BYTE _Adr,BYTE _Length,BYTE idata *_Data)
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x61;
	rf_buffer[LENGTH]=2;
	rf_buffer[ADR]=_Adr;
	rf_buffer[4]=_Length;
		
	if(rf500cmd(5)!=RF_OK)return RF_ERR;
		
	if(rf_buffer[STATUS]==MI_OK)
	{
		memcpy(_Data,&rf_buffer[INFO],_Length);
	}
	return rf_buffer[STATUS];
}

BYTE mifs_write_E2(BYTE _Adr,BYTE _Length,BYTE idata *_Data)
{
	rf_buffer[0]=0;
	rf_buffer[COMMAND]=0x62;
	rf_buffer[LENGTH]=_Length+2;
	rf_buffer[ADR]=_Adr;
	rf_buffer[4]=_Length;
	memcpy(&rf_buffer[5],_Data,_Length);
		
	if(rf500cmd(_Length+5)!=RF_OK)return RF_ERR;
		
	return rf_buffer[STATUS];
}


BYTE mifs_value(BYTE _Mode,BYTE _Adr,long *_Value,BYTE _Trans_Adr)
{
	BYTE *temp=(BYTE *)_Value;

	rf_buffer[SEQNR]=0;
	rf_buffer[COMMAND]=0x70;
	rf_buffer[LENGTH]=7;
	rf_buffer[DATA]  =_Mode;
	rf_buffer[DATA+1]=_Adr;
	rf_buffer[DATA+2]=*(temp+3);
	rf_buffer[DATA+3]=*(temp+2);
	rf_buffer[DATA+4]=*(temp+1);
	rf_buffer[DATA+5]=*temp;
	rf_buffer[DATA+6]=_Trans_Adr;
	
	if(rf500cmd(10)!=RF_OK)return RF_ERR;
	
	return rf_buffer[STATUS];
}
*/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲综合另类| 国产精品人妖ts系列视频| 岛国一区二区在线观看| 美国欧美日韩国产在线播放| 亚洲成人在线网站| 亚洲高清视频中文字幕| 亚洲午夜精品久久久久久久久| 亚洲欧美日韩中文播放| 自拍偷自拍亚洲精品播放| 国产精品国产馆在线真实露脸| 国产丝袜在线精品| 国产日韩欧美在线一区| 自拍偷拍欧美激情| 亚洲韩国一区二区三区| 日本少妇一区二区| 久久精品国产秦先生| 国产精品一区免费在线观看| 国产精品一区2区| 99久久婷婷国产| 欧美在线观看一二区| 欧美日产在线观看| 日韩欧美一级二级| 中文字幕免费一区| 一区二区三区高清在线| 婷婷综合另类小说色区| 久久成人免费网站| 成年人网站91| 91精品久久久久久蜜臀| ww久久中文字幕| 亚洲人成人一区二区在线观看| 久久99精品一区二区三区三区| 国产精品自产自拍| 欧美日韩1区2区| 国产亚洲精品bt天堂精选| 亚洲啪啪综合av一区二区三区| 日韩精品三区四区| 99久久免费国产| 日韩欧美一区二区视频| 国产精品久久久久久一区二区三区| 亚洲国产日韩a在线播放| 久久99久久99小草精品免视看| 91日韩精品一区| www一区二区| 五月天国产精品| 91麻豆免费看| 国产亚洲欧美日韩俺去了| 亚洲综合图片区| 成人动漫av在线| 精品国产一二三| 亚洲国产成人av网| 91在线国产福利| 久久亚洲精品小早川怜子| 亚洲一级片在线观看| 懂色av中文一区二区三区| 欧美一区二区在线观看| 夜夜精品视频一区二区| 成人中文字幕电影| 亚洲精品一区二区在线观看| 亚洲成人手机在线| 色偷偷一区二区三区| 国产色产综合产在线视频| 蜜桃精品在线观看| 91精品国产入口在线| 洋洋成人永久网站入口| 成人av资源站| 国产精品久久久久一区二区三区共| 男女性色大片免费观看一区二区| 在线观看亚洲精品视频| 自拍偷自拍亚洲精品播放| 国产99久久久国产精品潘金| 欧美精品一区二区三区在线 | 国产另类ts人妖一区二区| 国产片一区二区| 国产麻豆欧美日韩一区| 日韩免费看的电影| 精品一区二区三区影院在线午夜| 欧美日韩三级视频| 天堂资源在线中文精品| 欧美久久婷婷综合色| 午夜精品视频一区| 欧美系列在线观看| 亚洲gay无套男同| 欧美日韩综合不卡| 日韩中文字幕一区二区三区| 欧美日韩视频一区二区| 日韩精品一二区| 欧美videos大乳护士334| 美女性感视频久久| 精品久久国产老人久久综合| 激情欧美一区二区| 国产亚洲va综合人人澡精品 | 中文无字幕一区二区三区 | 国产91丝袜在线播放| 中文字幕乱码亚洲精品一区| 成人毛片视频在线观看| 成人欧美一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 亚洲国产视频a| 精品美女在线观看| 99久久婷婷国产精品综合| 亚洲一区二区三区视频在线| 欧美一区二区三区免费| 国产精品资源网| 亚洲综合另类小说| 欧美r级电影在线观看| 春色校园综合激情亚洲| 一区二区三区在线视频观看| 69久久夜色精品国产69蝌蚪网| 国产在线精品不卡| 亚洲欧美偷拍卡通变态| 日韩视频永久免费| 99久久免费精品高清特色大片| 日本aⅴ精品一区二区三区 | 成人精品在线视频观看| 亚洲精品国产成人久久av盗摄 | 伊人色综合久久天天人手人婷| 3d动漫精品啪啪1区2区免费 | 国产精品的网站| 日韩午夜中文字幕| 色综合一个色综合亚洲| 麻豆91免费观看| 亚洲国产精品久久艾草纯爱| 久久久亚洲欧洲日产国码αv| 日本伦理一区二区| 国产福利一区在线| 奇米一区二区三区| 一区二区高清视频在线观看| 久久久电影一区二区三区| 欧美人动与zoxxxx乱| 99久久精品国产精品久久| 韩日欧美一区二区三区| 亚洲成人手机在线| 亚洲激情中文1区| 国产欧美日韩另类一区| 日韩免费高清av| 这里只有精品99re| 欧美性xxxxx极品少妇| 色综合咪咪久久| av一区二区久久| bt欧美亚洲午夜电影天堂| 国产揄拍国内精品对白| 日韩精品久久理论片| 亚洲精品ww久久久久久p站| 欧美国产精品一区二区| 久久夜色精品一区| 欧美高清一级片在线观看| xfplay精品久久| 久久精品网站免费观看| 欧美mv和日韩mv国产网站| 精品区一区二区| 精品国产人成亚洲区| 精品国产免费视频| 久久久久一区二区三区四区| 欧美精品一区二区三区视频| 日韩精品一区二区在线观看| 欧美一区二区在线不卡| 91精品欧美一区二区三区综合在 | 精品国产一区二区三区av性色| 欧美一区二区视频观看视频| 337p亚洲精品色噜噜噜| 538在线一区二区精品国产| 欧美一级理论性理论a| 日韩一区二区电影在线| 欧美成人性福生活免费看| 26uuu亚洲| 欧美激情一区二区三区四区| 国产精品久久久久影院亚瑟| 亚洲欧美综合在线精品| 亚洲欧美韩国综合色| 亚洲电影一区二区| 免费高清在线视频一区·| 精品一区二区三区在线观看国产 | 久久久精品免费网站| 欧美国产日韩精品免费观看| 亚洲日本丝袜连裤袜办公室| 亚洲电影激情视频网站| 美国一区二区三区在线播放| 粉嫩蜜臀av国产精品网站| 91在线视频官网| 欧美一级日韩不卡播放免费| 国产欧美一区二区精品性| 亚洲欧美日韩在线| 久久99最新地址| 91麻豆文化传媒在线观看| 欧美一区二区在线视频| 国产精品视频免费看| 国产一区免费电影| 99riav一区二区三区| 欧美一区二区视频在线观看2022| 国产亚洲1区2区3区| 亚洲综合成人在线视频| 黄色小说综合网站| 91麻豆国产精品久久| 欧美成人激情免费网| 亚洲欧美日韩久久| 国产一区不卡精品| 欧美日韩国产另类不卡| 国产精品日韩成人| 久久成人久久鬼色| 欧美日韩免费观看一区三区|