Hey all,
I've been using a new memory chip since the last time (still working on same problem). I tried what sark did, as far as reading the manufacturer ID using this code:
#include <SPI.h>
const int SlaveSelect = 10;
const int MOSI = 11;
const int MISO = 12;
const int CLK = 13;
byte myByte;
void setup()
{
Serial.begin(9600);
pinMode(MISO, INPUT);
SPI.begin();
delay(10);
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV128);
delay(10);
digitalWrite(SlaveSelect,LOW);
delay(10);
SPI.transfer(0x06);
delay(10);
digitalWrite(SlaveSelect,HIGH);
delay(10);
digitalWrite(SlaveSelect,LOW);
delay(10);
SPI.transfer(0x02);
SPI.transfer(0x00);
SPI.transfer(0x00);
SPI.transfer(0x05);
myByte = SPI.transfer(0x255);
digitalWrite(SlaveSelect,HIGH);
Serial.println("done");
}
void loop()
{
digitalWrite(SlaveSelect,LOW);
delay(10);
SPI.transfer(0x90);
SPI.transfer(0x00);
SPI.transfer(0x00);
SPI.transfer(0x00);
myByte = SPI.transfer(0x01);
digitalWrite(SlaveSelect,HIGH);
Serial.println(myByte,DEC);
delay(500);
}
with the following output:
done
0
239
0
0
0
239
0
0
0
239
0
0
0
239
239 is the correct ID, but does anyone have an idea why its not continuous and there are 0s in between?