Arduino Due Master Programming

Hello. I am newbie. In my application Arduino Due is configured as Master and Arduino Uno as Slave. I need to transfer 24-bit Hexadecimal data of about 79-registers to slave device. At the slave end in serial monitor window I would like to display the transmitted data. I have developed an array at slave side, and I am comparing the master data with slave one. I have divided the 24-bit data into 3 Bytes. I will attach the Master and Slave codes below. I am getting Invalid data in serial monitor window as the data (Hexa Decimal) transmitted by Master is converted into decimal format internally and I think this was the reason I am not able to print the Valid data in serial monitor window.

My Actual slave device is PLL IC, But before interfacing directly to it I would like to monitor the data by using Arduino Uno as Slave device.

Any help will be greatly appreciated. Thanks in Advance.

MASTER Code

#include <SPI.h>

SPISettings mySettting(125000, MSBFIRST, SPI_MODE0);
const uint8_t ss = 10;

//pinMode(10, OUTPUT)
void setup() {
pinMode(ss, OUTPUT);

SPI.begin();
SPI.beginTransaction(mySettting);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x1C);
SPI.transfer(0x25);
SPI.transfer(0x00);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x08);
SPI.transfer(0x08);
SPI.transfer(0x01);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x00);
SPI.transfer(0x05);
SPI.transfer(0x02);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x42);
SPI.transfer(0x06);
SPI.transfer(0x03);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x43);
SPI.transfer(0x0A);
SPI.transfer(0x04);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0xC8);
SPI.transfer(0x00);
SPI.transfer(0x05);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0x02);
SPI.transfer(0xC8);
SPI.transfer(0x6C);
SPI.transfer('$');
delay(100);
digitalWrite(ss, HIGH);

digitalWrite(ss, LOW);
SPI.transfer('@');
SPI.transfer(0xB2);
SPI.transfer(0x40);
SPI.transfer(0x07);
SPI.transfer('$');
SPI.transfer('&');
delay(100);
digitalWrite(ss, HIGH);
SPI.endTransaction();
}

void loop() {
}

SLAVE Code

#include <SPI.h>
#include <stdio.h>
#include <string.h>
int buff[100] = {0x001C2500,0x00080801,0x00000502,0x00420603,0x430A04,0xC80005,0x02C806,0xB24007};

uint32_t buff_1 [100];
volatile byte indx;
volatile boolean process;
int i = 0;
uint32_t var_byte = 0x00000000;
uint32_t var_byte_1 = 0x00000000;
int byte_pos = 0;
short int status_1 = 0;

void setup (void) {
Serial.begin (115200);
pinMode(MISO, OUTPUT); // have to send on master in so it set as output
SPCR |= _BV(SPE); // turn on SPI in slave mode
indx = 0; // buffer empty
process = false;
SPI.attachInterrupt(); // turn on interrupt
memset(buff_1,'\0',sizeof(buff_1));
}

ISR (SPI_STC_vect) // SPI interrupt routine
{
byte c = SPDR; // read byte from SPI Data Register

if(c == '@')
{
var_byte = 0x00000000;
byte_pos = 2;
}
else if(c == '$')
buff_1 [indx++] = var_byte;
else if(c == '&')
process = true;
else
{
var_byte_1 = 0x00000000;
var_byte_1 = (var_byte_1 | c) << byte_pos;
var_byte |= var_byte_1;
byte_pos--;
}

}
void loop (void) {
if (process) {
process = false; //reset the process
status_1 = 0;
for(i=0;i<79;i++)
{
if (buff==buff_1*)
_
{_
Serial.println ("Valid data_1");
_
}_
_
else*_
* {*
* status_1 = 1;
_
break;_
_
//Serial.println ("Inavlid data");_
_
}_
_
}_
if (status_1 == 0)
_
Serial.println ("Valid data");_
_
else*_
* Serial.println ("Inavlid data");*
* indx= 0; //reset button to zero*
* memset(buff_1,'\0',sizeof(buff_1));
_
}_
_
}_
_

*_

Any changes should I make in the code to get the results.