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
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
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
anders geht's nicht. Der master sendet eine Anfrage, der slave sendet dann wieviel bytes er antworten möchte und dann generiert der Master den takt für diese Bytes.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.