7 Bit über SPI übertragen

Gast #518562
Lesenswert?
• ▲
▼
Ich bin Anfänger und habe folgendes Problem: Ich möchte gerne nur 7 Bit 
als Adresse über die SPI - Schnittstelle übertragen.
Mit folgender Funktion übertrage ich aber 8 Bit. Was muss ich ändern?

ich habe folgende  Routine:

void master_transmit (unsigned Adresse, unsigned data1) {

    PORTB &= ~_BV(PB2);    //SS am S  Slave Low --> Beginn der 
Übertragung
    SPDR = Adresse;     //Schreiben der Adresse
    while (!(SPSR & (1<<SPIF)));
    SPDR = data1;             //Schreiben der Daten
    while (!(SPSR & (1<<SPIF)));
     PORTB |= _BV(PB2);           //SS High --> Ende der Übertragung
}
#518564
Lesenswert?
• ▲
▼
hmmm,
ich gehe mal davon aus dass du einen avr nutzt ?:
so weit ich weiss geht das mit dem hardware-spi nicht.
(aber das heisst nicht viel, denn auch ich lerne nie aus)
ich würd mir da schnell was per software schreiben das die adresse 
raustackert und dann mit der hardware die schnellen transfers machen.

was ist denn das für ein ic das ne 7bit spi-sequenz nutzt?

grüße danie

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.