#include const int slaveSelectPin = 8; const int resetPin = 4; const int START = 7; int pos = 0; byte res [2]; int flag = 0; //boolean pulse = LOW; void RESET () { digitalWrite (resetPin, LOW); delay(0.001); digitalWrite(resetPin, HIGH); } void INIT () { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x70); digitalWrite(slaveSelectPin, HIGH); } void writeReg0() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x80); SPI.transfer(0x00); SPI.transfer(0x24); SPI.transfer(0x20); digitalWrite(slaveSelectPin, HIGH); } void writeReg1() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x81); SPI.transfer(0x19); SPI.transfer(0x49); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void writeReg2() { digitalWrite (slaveSelectPin, LOW); SPI.transfer(0x82); SPI.transfer(0xE0); SPI.transfer(0x00); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void writeReg3() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x83); SPI.transfer(0x00); SPI.transfer(0x00); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void writeReg4() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x84); SPI.transfer(0x20); SPI.transfer(0x00); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void writeReg5() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x85); SPI.transfer(0x10); SPI.transfer(0x00); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void writeReg6() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0x86); SPI.transfer(0x00); SPI.transfer(0x00); SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void ReadDATA() { digitalWrite(slaveSelectPin, LOW); SPI.transfer(0xB0); res [1] = SPI.transfer(0x00); res [0] = SPI.transfer(0x00); digitalWrite(slaveSelectPin, HIGH); } void setup () { pinMode(slaveSelectPin, OUTPUT); pinMode(resetPin, OUTPUT); pinMode(START, OUTPUT); digitalWrite(slaveSelectPin, HIGH); digitalWrite(START, LOW); RESET (); Serial.begin (9600); SPI.begin (); SPI.setDataMode(SPI_MODE0); SPI.setClockDivider(SPI_CLOCK_DIV8); SPI.setBitOrder(MSBFIRST); writeReg0(); writeReg1(); writeReg2(); writeReg3(); writeReg4(); writeReg5(); writeReg6(); attachInterrupt(0,ReadDATA, LOW); } void loop() { }