eine frage zu spi...

Gast #306502
Lesenswert?
• ▲
▼
hallo,

ich beschäftige mich derzeit etwas mit spi. pro clock-impuls wird ja
ein bit aus dem master in den slave geschaufelt und umgekehrt. meine
frage nun: was ist, wenn der master z.b. 10 bytes zu senden hat und der
slave nur 6? wenn ich dann 80 mal clocke habe ich 10 bytes durch beide
schieberegister gescheucht, wovon der eine aber 4 nicht gebrauchen
kann. wie lässt sich das am besten handlen? vielleicht indem ich als
erstes byte die länge sende? oder ein framing-protokoll?

danke im voraus,
 pittbull
Gast #306503
Lesenswert?
• ▲
▼
Ich würde einfach ein NULL-Byte definieren (z.B. 0xFF), welches der
Slave immer dann sendet, wenn er nichts zu sagen hat. Auf diese Weise
kann der Master feststellen, wenn der Slave mit seiner Botschaft fertig
ist. Allerdings ist es warscheinlich besser, für die Kommuniation eine
oder mehrere feste Byte-Anzahlen zu definieren, vielleicht abhängig vom
Befehl den der Master gibt.

Gruß
Konrad
Gast #306504
Lesenswert?
• ▲
▼
hallo konrad, danke für deine antwort.

>> Ich würde einfach ein NULL-Byte definieren (z.B. 0xFF), welches der
Slave immer dann sendet, wenn er nichts zu sagen hat. Auf diese Weise
kann der Master feststellen, wenn der Slave mit seiner Botschaft
fertig
ist.

das ist etwas problematisch, da ich auch 0xff, also jede bitkombination
als nutzdaten verwenden möchte.

>> Allerdings ist es warscheinlich besser, für die Kommuniation eine
oder mehrere feste Byte-Anzahlen zu definieren, vielleicht abhängig
vom
Befehl den der Master gibt.

das geht leider auch nicht. beide teilnehmer haben jeweils eine
beliebige anzahl von daten zu versenden, deren menge der andere erstmal
nicht weiss. ich muss wohl eine art software protokoll verwenden z.b.
indem beide als erstes die anzahl der daten senden, die sie loswerden
möchten. aber ich bin mir noch nicht ganz klar darüber ob das der
richtige weg ist. wer also noch tips hat: bitte helft mir.

danke im voraus,
 pittbull

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.