Vilken sorts kommunikation används här egentligen?
Detta exempel är taget från Adafruits hemsida för en LIS3DH accelerometer.
Min intention är att prata hårdvaru-SPI med den men nu börjar jag faktiskt undra...
Så fort jag kommenterar bort IF-satsen i setup:en så vill den inte kommunicera med min MCU längre. Så fort jag låter det stå som det gör så fungerar det som det ska och jag kan göra de inställningar som jag önskar med känslighet och annat.
Det känns spontant som att jag missar något. Att det är I2C som är default och när jag inte gör adress-kollen så knyter man ingen kommunikation.
Jag har dragit både SPI och I2C till min MCU på ett kort så kommunikationen har möjlighet att ske genom vilket som.
Slutligen så är skopet till svårtillgängligt just nu så har inte möjlighet att proba och se vart det existerar kommunikation.
Kod: Markera allt
#include "Arduino.h"
#include <avr/sleep.h>
#include "stdio.h"
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_LIS3DH.h>
#include <Adafruit_Sensor.h>
#include <SoftwareSerial.h>
#define LIS3DH_CLK 13
#define LIS3DH_MISO 12
#define LIS3DH_MOSI 11
#define LIS3DH_CS 10
#define led_pin 3
#define wakeup_pin 2
#define CLICKTHRESHHOLD 85
Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS);
void setup(void) {
if (! lis.begin(0x18)) { // change this to 0x19 for alternative i2c address
//Serial.println("Couldnt start");
while (1);
}
}