8 Bit Adresse, 32 Bit Daten

Gast #3976338
Lesenswert?
• ▲
▼
Hallo zusammen,

ich würde gerne via SPI zuerst eine 8 Bit Adresse gefolgt von 24 Bit 
Daten mit Hilder der SPI_WRITE(unsigned char dat) Funktion senden. Wie 
macht man das am besten? So?:
1
unsigned char SPI_Write(unsigned char dat);
2

3
void WriteCycle(unsigned char address, unsigned int data)
4
{
5
        CS_0;
6
        // 8 Bit Adresse
7
  SPI_Write(address);
8
        SPI_Write(data);
9
        SPI_Write(data >> 8);
10
        SPI_Write(data >> 16);
11

12
        AD_CS_1;
13
}

Würde das so funktionieren?
#3976400
Lesenswert?
• ▲
▼
Jetzt Nicht schrieb:
> Wenn das auf der anderen Seite passt, ja.
>
> Allenfalls muss man noch das niedristwertige byte ausschneiden,
> vielleicht macht das der Compiler von selbst

Macht er.
Wie sonst soll er einen unsigned char als Argument für
1
unsigned char SPI_Write(unsigned char dat);
zustande kriegen. Er könnte maximal eine Warnung generieren, da ja 
zwangsläufig Bits verloren gehen. In dem Fall kann man ihm mit einem 
Cast klar machen, dass das in Ordnung geht.
#3976478
Lesenswert?
• ▲
▼
Mike schrieb:
> Auf welchem Controller soll denn das laufen bzw. mit welchem Compiler
> wird gearbeitet? Ist unsigned int 16 bit oder 32 bit?

Stimmt. WWenn man die 8-Bit Scheuklappen wegnimmt dann könnte
INT 32 Bit breit sein. Aber solche "Nebensächlichkeiten" wie
Prozessorhardware muss man ja dem Fragenden regelmässig
aus der Nase ziehen .....

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.