Code Monkey home page Code Monkey logo

wiegandwithmfrc522's Introduction

STM8sf103Hex2Bin

#define LED_ON GPIO_WriteLow(GPIOB, GPIO_PIN_5); #define LED_OFF GPIO_WriteHigh(GPIOB, GPIO_PIN_5);

/mian/ for(int cnt =0; cnt < 30; cnt++) { if(Binary32bit[cnt] == 0) { LED_OFF;
//Delay_ms(1); } else { LED_ON;
//Delay_ms(1); } Delay(0xFFFF);

}
 
 status = PcdRequest(ReqALL, ATQBuf);  //(0x52 - 14443A)
 if(status != MI_OK)
 {
   continue;
 }
 status = PcdAnticoll(g_ucTempbuf);
 if(status != MI_OK)
 {
   continue;
 }
 
 for(int IXI = 0; IXI < 8; IXI++)
 {
   HexData[IXI]= g_ucTempbuf[IXI];
 }     

//////////////////////////////////////////////////////////////////////////////// for(unsigned char i=0; i<8; i++) { Hex2Binary(i, HexData, FirtsD, SeconD, BinaryData, Binary01);

  if(i == 0)
  {
     for(unsigned char j=0; j <8; j++)
     {
       Binary32bit[j] = *(Binary01+j);
     }
  }
  
  else if(i == 1 )
  {
    for(unsigned char j=0; j <8; j++)
    {
      Binary32bit[j+8] = *(Binary01+j);
    }
  }
  else if(i == 2)
  {
     for(unsigned char j=0; j <8; j++)
     {
       Binary32bit[j+16] = *(Binary01+j);
     }
  }
  
  else if(i == 3)
  {
    for(unsigned char j=0; j <8; j++)
    {
      Binary32bit[j+24] = *(Binary01+j);
    }
  }
}   

///////////////////////////////////////////////////////////////////////////////////////////////////////////

void Hex2Binary(unsigned char WIC, unsigned char *msg_string, unsigned char *FirstNum, unsigned char *SecNum, unsigned long int *BOutData, unsigned char *BinaryData) { unsigned char GData[20]; unsigned char FHtoB[20]; unsigned char SHtoB[20]; unsigned long int FData[20]; unsigned long int SData[20]; unsigned char SendSignal[8]; unsigned char i;

// for(WIC = 0; WIC < 8; WIC++) // { GData[WIC] = *(msg_string + WIC);

*(FirstNum + WIC) =  GData[WIC] % 16 ;       //First Num

*(SecNum + WIC) = GData[WIC] / 16 ;          //Secound Num

FHtoB[WIC] = *(FirstNum + WIC);
SHtoB[WIC] = *(SecNum + WIC);

switch (FHtoB[WIC])
{
case 0 : FData[WIC] = 0000, SendSignal[0]=0,SendSignal[1]=0,SendSignal[2]=0,SendSignal[3]=0; break;   
case 1 : FData[WIC] = 0001, SendSignal[0]=0,SendSignal[1]=0,SendSignal[2]=0,SendSignal[3]=1; break;
case 2 : FData[WIC] = 0010, SendSignal[0]=0,SendSignal[1]=0,SendSignal[2]=1,SendSignal[3]=1; break;
case 3 : FData[WIC] = 0011, SendSignal[0]=0,SendSignal[1]=0,SendSignal[2]=1,SendSignal[3]=1; break;
case 4 : FData[WIC] = 0100, SendSignal[0]=0,SendSignal[1]=1,SendSignal[2]=0,SendSignal[3]=0; break;
case 5 : FData[WIC] = 0101, SendSignal[0]=0,SendSignal[1]=1,SendSignal[2]=0,SendSignal[3]=1; break;
case 6 : FData[WIC] = 0110, SendSignal[0]=0,SendSignal[1]=1,SendSignal[2]=1,SendSignal[3]=0; break;
case 7 : FData[WIC] = 0111, SendSignal[0]=0,SendSignal[1]=1,SendSignal[2]=1,SendSignal[3]=1; break;
case 8 : FData[WIC] = 1000, SendSignal[0]=1,SendSignal[1]=0,SendSignal[2]=0,SendSignal[3]=0; break;
case 9 : FData[WIC] = 1001, SendSignal[0]=1,SendSignal[1]=0,SendSignal[2]=0,SendSignal[3]=1; break;
case 0x0A : FData[WIC] = 1010, SendSignal[0]=1,SendSignal[1]=0,SendSignal[2]=1,SendSignal[3]=0; break;
case 0x0B : FData[WIC] = 1011, SendSignal[0]=1,SendSignal[1]=0,SendSignal[2]=1,SendSignal[3]=1; break;
case 0x0C : FData[WIC] = 1100, SendSignal[0]=1,SendSignal[1]=1,SendSignal[2]=0,SendSignal[3]=0; break;
case 0x0D : FData[WIC] = 1101, SendSignal[0]=1,SendSignal[1]=1,SendSignal[2]=0,SendSignal[3]=1; break;
case 0x0E : FData[WIC] = 1110, SendSignal[0]=1,SendSignal[1]=1,SendSignal[2]=1,SendSignal[3]=0; break;
case 0x0F : FData[WIC] = 1111, SendSignal[0]=1,SendSignal[1]=1,SendSignal[2]=1,SendSignal[3]=1; break;
}

switch (SHtoB[WIC])         
{
case 0 : SData[WIC] = 0000, SendSignal[4]=0,SendSignal[5]=0,SendSignal[6]=0,SendSignal[7]=0;  break;
case 1 : SData[WIC] = 0001, SendSignal[4]=0,SendSignal[5]=0,SendSignal[6]=0,SendSignal[7]=1;  break;
case 2 : SData[WIC] = 0010, SendSignal[4]=0,SendSignal[5]=0,SendSignal[6]=1,SendSignal[7]=1;  break;
case 3 : SData[WIC] = 0011, SendSignal[4]=0,SendSignal[5]=0,SendSignal[6]=1,SendSignal[7]=1;  break;
case 4 : SData[WIC] = 0100, SendSignal[4]=0,SendSignal[5]=1,SendSignal[6]=0,SendSignal[7]=0;  break;
case 5 : SData[WIC] = 0101, SendSignal[4]=0,SendSignal[5]=1,SendSignal[6]=0,SendSignal[7]=1;  break;
case 6 : SData[WIC] = 0110, SendSignal[4]=0,SendSignal[5]=1,SendSignal[6]=1,SendSignal[7]=0;  break;
case 7 : SData[WIC] = 0111, SendSignal[4]=0,SendSignal[5]=1,SendSignal[6]=1,SendSignal[7]=1;  break;
case 8 : SData[WIC] = 1000, SendSignal[4]=1,SendSignal[5]=0,SendSignal[6]=0,SendSignal[7]=0;  break;
case 9 : SData[WIC] = 1001, SendSignal[4]=1,SendSignal[5]=0,SendSignal[6]=0,SendSignal[7]=1;  break;
case 0x0A : SData[WIC] = 1010, SendSignal[4]=1,SendSignal[5]=0,SendSignal[6]=1,SendSignal[7]=0; break;
case 0x0B : SData[WIC] = 1011, SendSignal[4]=1,SendSignal[5]=0,SendSignal[6]=1,SendSignal[7]=1; break;
case 0x0C : SData[WIC] = 1100, SendSignal[4]=1,SendSignal[5]=1,SendSignal[6]=0,SendSignal[7]=0; break;
case 0x0D : SData[WIC] = 1101, SendSignal[4]=1,SendSignal[5]=1,SendSignal[6]=0,SendSignal[7]=1; break;
case 0x0E : SData[WIC] = 1110, SendSignal[4]=1,SendSignal[5]=1,SendSignal[6]=1,SendSignal[7]=0; break;
case 0x0F : SData[WIC] = 1111, SendSignal[4]=1,SendSignal[5]=1,SendSignal[6]=1,SendSignal[7]=1; break;
}

*(BOutData + WIC) = ((SData[WIC]*2) + FData[WIC]);

//*(BinaryData + WIC) = SendSignal[WIC];

//} for(int a = 0; a<8; a++){ *(BinaryData + a) = SendSignal[a]; } }

/Örnek Led Counter Kullanımı, from STM32F103 works/ if(SndCnt == 1) { if(LedCount == (350)) { HAL_GPIO_WritePin(cpu_led_GPIO_Port, cpu_led_Pin, GPIO_PIN_SET); HAL_Delay(100);

  }
  HAL_GPIO_WritePin(cpu_led_GPIO_Port, cpu_led_Pin, GPIO_PIN_RESET);
  
  if(LedCount == 350)
    LedCount = 0;
  
  LedCount++;

}

/Get WIEGAND Type*/ /////////////////////////////////////////////////////////////////////////////// if(SndCnt == 0 ) { HAL_GPIO_WritePin(cpu_led_GPIO_Port, cpu_led_Pin, GPIO_PIN_RESET); HAL_Delay(60);// HAL_GPIO_WritePin(cpu_led_GPIO_Port, cpu_led_Pin, GPIO_PIN_SET); HAL_Delay(20);//

  led_12_ON;
  led_34_ON;

  //if(WIGType[14] > 0)
  //  SndCnt = 1 ;
  HAL_Delay(100);
  HAL_UART_Transmit(&huart1, (uint8_t*)ReqWIGType, sizeof(ReqWIGType), 50);

// for(Wcnt = 0; Wcnt < 16; Wcnt++) // { // WIGType[Wcnt] = UART1_rxBuffer[Wcnt]; // }

  if(WIGType[4] == 'W' && WIGType[6] == 'G' && WIGType[7] == 'T')
  {
    SndCnt = 1;
    
    led_12_OFF;
    led_34_OFF;
   // WIGType[Wcnt+9] = 0x00;
   // WIGType[Wcnt+12] = 0x00;
     
    for(Wcnt = 0; Wcnt < 9; Wcnt++)
     {
       UART1_rxBuffer[Wcnt] = 0;
     }
  }
  uartSay = 0;
}

wiegandwithmfrc522's People

Contributors

alka-q avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.