USI-SPI Problem!Tiny2313

Gast #1546712
Lesenswert?

Hallo erstmal,

ich möchte einen Sensor(BMA150) über SPI ansprechen.Bevor ich jedoch 
Daten zu dem Sensor rüberschicke, wollte ich erst einmal den 
Master(Controller) über ein Oszilloscope testen, bevor ich den Sensor 
über die 1k Widerstände anschließe.
Nun habe ich folgenden Quellcode geschrieben:

void spi_Init()
{
        DDRB = (1<<DDB5) | (1<<DDB7);
  USISR=(1<<USIOIF);
}

int8_t usi_spi_data(int8_t dataspi)
{
  spi_Init();
  USIDR=dataspi;

  do
  {
    USICR=(1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC);
  }while(!(USISR&(1<<USIOIF)));
  return dataspi;
}

Wenn ich dieses Programm in einer schleife durchlaufen lasse, messe ich 
einen Takt am PIN7 jedoch kann ich am Oszilloscope keine Daten am MOSI 
messen(Es wird nur ein dauer High dargestellt). Der FKT wird der Wert
(int8_t) test=0b10011001 übergeben.

Was ist an meinem Programm falsch?
Kann mir jemand helfen?

Danke!

mfg =)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren