I Cant seem to initiate SPI on my Arduino Uno. The results in the logic analyzer still look vague. Here is how am doing it.
//NRF ARDUINO
//1 GND GND
//2 VCC 3.3V
//3 CE 4 out
//4 CSN 5 out
//5 SCK 13 out
//6 MOSI 11 out
//7 MISO 12 in
//8 IRQ 2 in
// Define your pins here!
#include <SPI.h>
#define CE_pin 4
#define CSN_pin 10
//The global variables used by everyone
byte data_in[5], data2, data3;
SPISettings settingsA(8000000, MSBFIRST, SPI_MODE1);
uint8_t stat, val1, val2, result;
void setup() {
Serial.begin(115200);//start Serial
//pinMode(SCK_pin, OUTPUT);//SPI clock out
pinMode(CSN_pin, OUTPUT);
//start up the SPI library
SPI.begin();
delay(500);
NRF_set_RX_payload(0, 3);//pipe 0-5, bytes 1-32
}
void NRF_set_RX_payload(byte pipe, byte bytes){//start NRF payload
SPI.beginTransaction(settingsA);
byte address = pipe + 32 + 16 + 1;// a register write starts at 32, so add on the 1 and 16 to get you to at R17
digitalWrite(CSN_pin, LOW);
data_in[0] = SPI.transfer(address);//write register 11 RX_PW_P0
data_in[1] = SPI.transfer(bytes);//3 bytes for now
digitalWrite(CSN_pin, HIGH);
SPI.endTransaction();
Serial.print("RX Payload Set RX_PW_P");
Serial.print(pipe);
Serial.print(" for ");
Serial.print(bytes);
Serial.println(" bytes");
Serial.println(data_in[0], BIN);
Serial.println(data_in[1], BIN);
}
I just cant seem to get past this level. I have double checked the wiring and everything looks ok with me
Check out my capture from the logic analyzer
