randomvibe
Well-known member
I'm attempting to open SPI communication with my IMU Sensor (LSM6DS3 breakout) from Sparkfun (https://www.sparkfun.com/products/13339). It's worked with the Arduino-Due, but I'm having trouble with the Teensy 3.2. My program keeps returning zeros when I ping the WHO_AM_I address. Code below demos the issue. I appreciate your help.
Code:
#include <SPI.h> // include the SPI library:
#define READ 0x80
#define WRITE 0x00
#define SSX 20
SPISettings SETA(100000, MSBFIRST, SPI_MODE3);
void setup()
{
uint8_t address;
uint16_t out1, out2, out3;
// INITIALIZE PINS
delayMicroseconds(3000000);
Serial.begin(115200);
// INITIALIZE SPI
pinMode (SSX, OUTPUT);
SPI.setMOSI(7);
SPI.setMISO(8);
SPI.setSCK(14);
SPI.begin();
delayMicroseconds(1000);
// SPI COMMUNICATION
SPI.beginTransaction(SETA);
digitalWrite(SSX,LOW);
address = 0x0F; // WHO-AM-I BYTE
out1 = SPI.transfer(address);
out2 = SPI.transfer(READ);
out3 = SPI.transfer(0x00);
digitalWrite(SSX,HIGH);
Serial.println("Who Am I:");
Serial.println(out1);
Serial.println(out2);
Serial.println(out3);
}
void loop()
{
}