#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#define print1Byte(args) Serial1.write(args)
#define print1lnByte(args) Serial1.write(args),Serial1.println()
#else
#include "WProgram.h"
#define print1Byte(args) Serial1.print(args,BYTE)
#define print1lnByte(args) Serial1.println(args,BYTE)
#endif
unsigned char receive_ACK[35];
unsigned char UID[4]={0xD1,0xAA,0x40,0xEA};
unsigned char secret[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
unsigned char dataWriteIntoCard[16]={0x01,0x01,0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x05,0x06,0x06,0x07,0x07,0x08,0x08};
int ctr=0;
void setup()
{
Serial.begin(9600);
Serial1.begin(115200);
wakeUp();
delay(10);
readAck(15);
for(int i=0;i<15;i++) Serial.print(receive_ACK[i]);
Serial.println();
}
void loop()
{
Scan();
if(passWordCheck(0x08,UID,secret)==1)
{
Serial.println("passed");
if(ctr<4) // 写4次后就不写了,s50卡的使用寿命是写10W次,读不限,放心用
{
writeData(0x08,dataWriteIntoCard);
Serial.println("written");
ctr++;
}
delay(2000);
readData(0x08);
}
delay(4000);
}
void wakeUp()
{
const unsigned char wake[24]={
0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xfd, 0xd4