Write/Read SPI external EEPROM 25C160

Hi I'm trying to create a program to write and read a value from an external EEPROM 25C160, but it doesn't work.

My code is:

#define DATAOUT 11//MOSI
#define DATAIN 12//MISO
#define SPICLOCK 13//sck
#define SLAVESELECT 10//ss

#define WRITE 2
#define READ 3
#define WREN 6

#include <SPI.h>

unsigned int data;
unsigned int address = 3;
unsigned int outval = 23;
byte invalue;

void setup()
{
Serial.begin(9600);
// set up to match device datasheet

pinMode(DATAOUT, OUTPUT);
pinMode(DATAIN, INPUT);
pinMode(SPICLOCK,OUTPUT);
pinMode(SLAVESELECT,OUTPUT);
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE1);
SPI.setClockDivider(SPI_CLOCK_DIV8); // max clock is 20MHz, so can set high speed
SPI.begin(); // sets up pin modes etc.

// Enable writing
digitalWrite(SS, LOW);
SPI.transfer(WREN);
digitalWrite(SS, HIGH);

// Write One Value to One Address
digitalWrite(SS, LOW);
SPI.transfer(WRITE); // write instruction
SPI.transfer(0X00);
SPI.transfer(0X03);
SPI.transfer(outval);
digitalWrite(SS, HIGH);

}

void loop()
{
// Read One Value from One Address

digitalWrite(SS, LOW);
SPI.transfer(READ); // read instruction
SPI.transfer(0x00);
SPI.transfer(0x03);
// SPI.transfer(0X00);

invalue = SPI.transfer(0);

Serial.print("Read Data = ");
Serial.println(invalue,DEC);

digitalWrite(SS, HIGH);
delay(1000);

}

I have used a oscilloscope to check that I'm trasmitting a correct sequence on MOSI signal and it is ok. But I'm not able to read any value on MISO
Do you have any suggestion?

Thanks for you support