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

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

?? trf7960.c

?? 用TI公司MSP430控制TRF7960設計TYPEA源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#ifndef _TRF_7960_C_INCLUDED_
#define _TRF_7960_C_INCLUDED_
#include "msp430x12x.h"
#include "TRF7960.h"
char buffer[12];
char rec_length;
char tagtype[2];
char UID[5];
void spi_delay (char loop)
{
  char j;
  for (j = 0x00;j < loop; j++);
  return;
}

//SPI(without ss)
void start_bit (void)
{       SPI_CLK_LOW;
	//_NOP();
	SPI_OUT_LOW;
	//_NOP();
	SPI_CLK_HIGH;
	//_NOP();
	SPI_OUT_HIGH;   
	//_NOP();
	SPI_CLK_LOW;	
}

void stop_bit (void)
{
        SPI_CLK_LOW;
	//_NOP();
	SPI_OUT_HIGH;	
	//_NOP();
	SPI_CLK_HIGH;
	//_NOP();
	SPI_OUT_LOW;	
	//_NOP();
	SPI_CLK_LOW;
}

void byte_send(char sendbyte)
{
  char i,temp;
  //SPI_CLK_LOW;
  temp = sendbyte & 0x80;
  for(i=0;i<8;i++)
  { 
    if(temp)
     { SPI_OUT_HIGH;
     }
    else
     { SPI_OUT_LOW;
     }
    //_NOP();
    SPI_CLK_HIGH;
    //_NOP();
    sendbyte<<=1;
    temp = sendbyte & 0x80;
    SPI_CLK_LOW;
  }
}

char spi_receive(void)
{
  char i,temp=0;
    //SPI_CLK_LOW;
  for(i=0;i<8;i++)
  {
    //_NOP();
    SPI_CLK_HIGH;
    temp<<=1;
    if(SPI_IN)
    {  
      temp|=0x01;
    } 
    else
    {  
     temp&=0xfe;
    }     
    SPI_CLK_LOW;
  }
  return(temp);
}

void single_command_send(char command_code)
{ 
   command_code &= 0x9f;
   command_code |= 0x80;   
   start_bit();
   byte_send(command_code);
   stop_bit();
   return;
}

char single_register_read(char reg_ad)
{ 
   char i;
   reg_ad &=0x1F;
   reg_ad |=0x40;
   start_bit();
   byte_send(reg_ad);
   i=spi_receive();
   stop_bit();   
   return(i);
}

void single_register_write(char reg_ad,char reg_data)
{  
   reg_ad &=0x1F;
   start_bit();
   byte_send(reg_ad);
   byte_send(reg_data);
   stop_bit();

   return;
}
//char FIFO_level(void)
//{ char i;
 // i=single_register_read(0x1C);
  
char FIFO_length( void )
{ char i;
   start_bit();
   byte_send(0x5c);
   i=spi_receive();
   stop_bit();  
   i &= 0x0F;
  return(i);
}

char Clear_FIFO(void)
{  char temp;
   start_bit();
   byte_send(0x8F);
   byte_send(0x4C);
   temp=spi_receive();
   byte_send(0x00);
   stop_bit();
   return(temp);
}
char Read_FIFO(char * buff)
{
   char temp,i;
   temp=FIFO_length();
   temp++;
  
      start_bit();
       byte_send(0x7f);
      //for(i=0;i<temp;i++)
       for(i=0;i<5;i++)
      *(buff+i)=spi_receive();
       stop_bit();
       return(temp);
   
}
    
char IRQ_status( void )
{ 
   char temp;
   SPI_RX_HIGH;
   start_bit();
   byte_send(0x4C);
   temp=spi_receive();
   byte_send(0x00);
   stop_bit();
   SPI_RX_LOW;  
   return(temp);
}

void softinit(void)
{  // char temp; 
    single_command_send(0x03);             //soft init
     spi_delay(0x50); 
     single_register_write(0x0B,0x06);      //3.3V    
     spi_delay(0x20); 
     single_register_write(0x09,0x21);    //CL_SYS 6.78MHz 100%OOK
     spi_delay(0x20);  
     single_register_write(0x00,0x23);//0x21);      //active mode,rf_on,5V system]
     spi_delay(0x20); 
     single_register_write(0x01,0x88);//0x08);      //ISO14443A,bit rate 106kbit/S,rx_crc
     spi_delay(0x20);
     //single_register_write(0x07,0x30);    //no response delay time 37.76*48=1812us
     //delay(0x20); 
     //single_register_write(0x0D,0x3f);      //no_resp   
     single_register_write(0x0D,0x01);       //enable no_resp,disable else
     spi_delay(0x20);
     //temp=single_register_read(0x03);
    // temp |= 0x08;
     //single_register_write(0x03,temp);
     //temp=single_register_read(0x03);
     return;       
}


char data_transceive(char byte_count,char broken_bit,char any_crc,char * buff)
{      
  char j,temp,sended,remain_send;
  char TxLengthByte1,TxLengthByte2; 
  
  Clear_FIFO();
  sended=0x00;
  rec_length=0;  
  remain_send = byte_count;
  TxLengthByte1 = (byte_count & 0xf0)>>4;
  TxLengthByte2 = (byte_count & 0x0f)<<4; 
  if(broken_bit != 0)
  { 
        broken_bit = broken_bit <<1;
        broken_bit &= 0x0E;
        broken_bit |= 0x01;
        TxLengthByte2 |= broken_bit;
        remain_send++;
  }
  if(remain_send==0)
     return(0x00);
  if(remain_send==1)
       remain_send++;
  if(TRF_7960_IRQ != 0)
     return(0x01);
  else
  {
     start_bit();
     //byte_send(0x8f);//reset
     //byte_send(0x90);//transmit without crc
     byte_send(any_crc);//transmit withCRC
     byte_send(0x3D);// length to 1d,1e
     byte_send(TxLengthByte1);    //1d
     byte_send(TxLengthByte2);    //1e
     SPI_TX_HIGH;
     if(remain_send<=12)
     {
       temp=remain_send;
       remain_send=0;
       
     }
     else
     {
       temp=12;
       remain_send=remain_send-12;
       sended=12;
     }
     for(j=0;j<temp;j++)
       byte_send(*(buff+j));
     stop_bit();
     if(remain_send==0)
       SPI_TX_LOW;
     while(remain_send!=0) 
     {
        temp=FIFO_length();
        if(temp<6)
        {
           start_bit();
           byte_send(0x3f);
           if(remain_send<=6)
           {
              temp=remain_send;
              remain_send=0;
              
           }
           else
           {
              temp=6;
              remain_send=remain_send-6;
            }
            for(j=0;j<temp;j++)
              byte_send(*(buff+j+sended));
            stop_bit();
            if(remain_send==0)
            SPI_TX_LOW;
            sended=sended+6;
        }
     }  
     while(TRF_7960_IRQ==0)
             {    _NOP();     }
     temp=Clear_FIFO();
           if((temp & 0x80)==0)
              return(TRF7960_TRANSERR);
     while(1)
     {
            
       
        if(TRF_7960_IRQ!=0)
        {   
            temp=IRQ_status();
            if((temp & 0x01)!=0)
              return(TRF7960_NOTAGERR);
            if((temp & 0x40)!=0)
            {  
              j=Read_FIFO(buffer+rec_length);
              rec_length += j;
              j=single_register_read(0x3d);
              j=single_register_read(0x3e);
               /*if((temp & 0x20)!=0)
               {
                  start_bit();
                  byter_send(0x7f);
                  for(j=0;j<8;j++)
                   *(buff+j+rec_length)=spi_receive();
                  stop_bit();
               }*/
               if((temp & 0x02)!=0)
                  return(TRF7960_ANTICOLLERR);
               if((temp & 0x04)!=0)
                  return(TRF7960_FRAMINGERR);
               if((temp & 0x08)!=0)
                  return(TRF7960_PARITYERR);
               if((temp & 0x10)!=0)
                  return(TRF7960_CRCERR);
  
               else
                  return(TRF7960_OK);
              return(temp);
            }
            else
               return(TRF7960_TRANSERR);
        }
        else
        {    temp=FIFO_length();
              if(temp>6)
              {  start_bit();
                 byte_send(0x7f);
                 for(j=0;j<6;j++)
                   *(buff+j+rec_length)=spi_receive();
                  stop_bit();
                  rec_length +=6;
              }
                 
        }
    }
  }            
}  

void initial_7960 (void)
{   
    //初始化interface
    
    SPI_CLK_SEL;
    SPI_CLK_OUT;
    SPI_CLK_LOW;
        
    SPI_IN_SEL;
    SPI_IN_IN; 
       
    SPI_OUT_SEL;
    SPI_OUT_OUT;
    SPI_OUT_LOW;
    
    SPI_STROBE_SEL;
    SPI_STROBE_IN ;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久99| 国产精品一区二区三区乱码| 日韩国产精品久久久久久亚洲| 久久精品999| 在线日韩国产精品| 久久久噜噜噜久久中文字幕色伊伊| 亚洲三级在线看| 成人午夜碰碰视频| 日韩欧美在线123| 亚洲图片自拍偷拍| www.日韩av| 久久久国产午夜精品| 日韩在线播放一区二区| 色综合久久久久综合体桃花网| 久久综合久久综合九色| 日本不卡不码高清免费观看| 一本到不卡免费一区二区| 国产午夜亚洲精品不卡| 麻豆一区二区99久久久久| 欧美蜜桃一区二区三区| 亚洲国产精品影院| 色av成人天堂桃色av| 18欧美乱大交hd1984| 美女爽到高潮91| 日韩一区二区三区视频在线| 午夜精品一区二区三区电影天堂 | 日韩专区在线视频| 欧美性猛交xxxx黑人交| 1区2区3区国产精品| 不卡一卡二卡三乱码免费网站| 久久综合av免费| 极品美女销魂一区二区三区| 日韩精品在线一区| 久久99国产精品久久99果冻传媒| 67194成人在线观看| 日本视频在线一区| 日韩久久免费av| 久久国产精品99久久久久久老狼| 日韩午夜激情免费电影| 麻豆国产一区二区| 日韩一二三区视频| 老司机午夜精品| 久久久久久一级片| 成人黄色软件下载| 日韩一区欧美一区| 欧美在线观看视频一区二区三区| 亚洲精品日产精品乱码不卡| 欧美日韩国产首页| 天天影视涩香欲综合网| 欧美变态tickling挠脚心| 国产一区二区三区四区五区美女| 日本一区二区三区高清不卡| 99re66热这里只有精品3直播| 亚洲情趣在线观看| 91精品国产全国免费观看| 久久99精品国产.久久久久久| 国产色综合一区| 在线亚洲一区观看| 蜜桃视频在线一区| 国产精品久久久久一区二区三区| 欧美伊人久久久久久午夜久久久久| 日韩电影在线一区二区三区| 久久久精品黄色| 欧美视频精品在线观看| 韩国成人在线视频| 亚洲黄一区二区三区| 日韩欧美一二区| 成人av网站免费观看| 亚洲国产精品一区二区久久恐怖片| 欧美mv和日韩mv的网站| 91原创在线视频| 久久国内精品视频| 一区二区三区日韩精品| 精品国产一区二区国模嫣然| 99久久精品免费观看| 老司机一区二区| 伊人性伊人情综合网| 2024国产精品| 欧美三级日韩三级| 成人18精品视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美精品黑人性xxxx| 国产成人综合精品三级| 亚洲v中文字幕| 欧美国产乱子伦| 日韩亚洲欧美高清| 91色porny在线视频| 美女网站一区二区| 亚洲成人你懂的| 国产精品不卡视频| 久久一日本道色综合| 欧美日韩精品一区视频| 91免费看片在线观看| 国产精品一级黄| 久久精品国产精品亚洲红杏 | 青娱乐精品在线视频| 国产成人在线视频网站| 国产xxx精品视频大全| 日韩经典中文字幕一区| 亚洲精品国产成人久久av盗摄 | 欧美哺乳videos| 欧美日韩aaaaaa| 欧美色老头old∨ideo| 色综合久久中文综合久久牛| 成人免费不卡视频| 国产91高潮流白浆在线麻豆| 国产揄拍国内精品对白| 久久精品国产免费| 麻豆一区二区在线| 日本在线不卡视频| 日韩av中文字幕一区二区| 亚洲高清在线视频| 午夜久久久久久久久| 亚洲123区在线观看| 亚洲成人免费视| 日韩一区精品视频| 日本亚洲视频在线| 久久99在线观看| 精品亚洲国产成人av制服丝袜| 麻豆精品视频在线观看| 狠狠色综合日日| 国产一区二区主播在线| 国产福利不卡视频| 成人午夜视频网站| 91在线视频在线| 91啪九色porn原创视频在线观看| 成人av在线播放网址| 91福利在线免费观看| 欧美三级日韩在线| 欧美精品v日韩精品v韩国精品v| 欧美疯狂做受xxxx富婆| 欧美电影免费提供在线观看| 精品国产伦一区二区三区免费| 久久理论电影网| 中文字幕亚洲一区二区va在线| 亚洲乱码中文字幕综合| 亚洲在线视频网站| 麻豆专区一区二区三区四区五区| 开心九九激情九九欧美日韩精美视频电影 | 国产精品高潮呻吟| 一区二区三区在线观看欧美 | 欧美男人的天堂一二区| 欧美不卡一区二区三区| 欧美激情一区二区三区不卡| 亚洲精品ww久久久久久p站| 日日夜夜精品视频天天综合网| 另类专区欧美蜜桃臀第一页| 国产不卡视频一区| 91精品福利在线| 精品久久久久久久人人人人传媒 | 久久超碰97中文字幕| 暴力调教一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 欧美xxxxxxxx| 亚洲人精品一区| 美女高潮久久久| 色综合一个色综合| 久久综合久久久久88| 一区二区三区精品视频在线| 激情小说欧美图片| 欧美日韩另类一区| 国产欧美精品国产国产专区| 亚洲精品老司机| 国产一区欧美日韩| 欧美日韩国产小视频| 国产精品乱码一区二三区小蝌蚪| 午夜久久电影网| 色综合久久综合网97色综合| ww久久中文字幕| 免费成人小视频| 欧美乱熟臀69xxxxxx| 国产精品传媒入口麻豆| 国内欧美视频一区二区| 欧美人妖巨大在线| 亚洲日本丝袜连裤袜办公室| 国内精品久久久久影院一蜜桃| 欧美日韩精品一区视频| 尤物在线观看一区| 97久久精品人人做人人爽50路| xvideos.蜜桃一区二区| 青青草国产精品亚洲专区无| 欧美在线一区二区三区| 成人欧美一区二区三区在线播放| 国产一区不卡精品| 91精品国产综合久久小美女| 亚洲综合免费观看高清完整版 | 91网页版在线| 亚洲国产精品ⅴa在线观看| 国产一区二区三区免费| 欧美一区二区在线不卡| 天堂va蜜桃一区二区三区| 欧美性欧美巨大黑白大战| 亚洲宅男天堂在线观看无病毒| 99久免费精品视频在线观看| 国产目拍亚洲精品99久久精品| 狠狠狠色丁香婷婷综合激情| 欧美r级在线观看| 久久se这里有精品| 欧美一卡2卡3卡4卡| 蜜臀av一区二区在线免费观看|