i try to use new libraries of spi (1.01)
#include <SPI.h>
#define SCK 13
#define MISO 12
#define MOSI 11
#define SS 10
uint8_t RX_Data[32] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
uint8_t ReadByte(void) {
uint8_t *ptr = RX_Data;
for (int i = 0; i < 32; i++){
// SPDR = 0x01; // preload the data reg
while(!(SPSR & (1<<SPIF))) ;
*ptr++ = SPDR; // save byte
}
}
void setup()
{
pinMode(SCK, INPUT);
pinMode(MOSI, INPUT);
pinMode(MISO, OUTPUT);
pinMode(SS, INPUT);
Serial.begin(9600);
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE3);
//SPI.setClockDivider();
SPI.begin();
}
void loop()
{
ReadByte();
for (int j = 0;j<32;j++){ // note loop values
Serial.print(RX_Data[j], HEX);
Serial.print(',');
}
Serial.println(' ');
}
With this code SPI doesn't starts, i should to add "SPCR = (1<<SPE); but this shouldn't be necessary from library...
if i add this i have this output:
C,F,0,1,0,3,0,1,4,7,0,1,0,3,8,9,C,F,0,1,0,3,0,1,4,7,0,1,0,3,8,9,
C,F,0,1,0,3,0,1,4,7,0,1,0,3,8,9,C,F,0,1,0,3,0,1,4,7,0,1,0,3,8,9,