Hi, ich hab für mein Master Slave Verfahren Kommandos difiniert. Zum einen gibt es das Feld "Request". Dies kann bei mir 0 oder 1 annehmen. Wenn der Master eine Anfrage(Request) startet muss da das Request auf 0 oder 1 stehen? Bzw. Wenn der Slave dann daruafhin antwortet (response) wie sieht es da dann aus?
Gast schrieb: > Wenn der Master eine Anfrage(Request) startet muss Müssen tut gar nichts. > da das Request auf 0 > oder 1 stehen? Du bist der Programmierer. Dein Wort ist Gesetz. Wenn du das so definierst, dann ist das so.
Wie macht man die üblicherweise? Request = 1 --> eine Antwort vom Slave wird erwartet Request = 0 --> keine Antwort vom Slave wird erwartet
Hallo, wie würdest Du es im normalen Leben machen? würdest Du Dir einen Zettel an den Kühlschrank heften: Kartoffeln holen! oder einen "Keine Kartoffeln holen!" und den wegnehmen, wenn Du welche brauchst? Gruß aus Berlin Michael
Gast schrieb: > Wie macht man die üblicherweise? > > Request = 1 --> eine Antwort vom Slave wird erwartet > Request = 0 --> keine Antwort vom Slave wird erwartet Kommt darauf an, wie DU die Bedeutung des Bits definierst. Persönlich würde ich definieren: Egal wer die Anfrage absetzt, er hat bei einer Anfrage dieses Bit zu setzen. Ob der Master oder der Slave eine Anfrage absetzt spielt keine Rolle.
> Wie macht man die üblicherweise? > Request = 1 --> eine Antwort vom Slave wird erwartet > Request = 0 --> keine Antwort vom Slave wird erwartet Ich würde das nicht "Request" nennen, sondern "Response required". Dann sollte alles klar sein.
Danke für die zahlreiche Unterstützung. Nun soll der Master ein Anfrage an den Slave senden. Dieser soll daraufhin Antworten. Die Antwort enthält Nutzdaten. Wie müsste dazu das Kommando aussehen? Beispiel Kommando response: Datalength IDSend IDRecv Request .... Hat jemand sowas schonmal für ein Master Slave Prinzip mit Komandos umgesetzt?
Gast schrieb: > Danke für die zahlreiche Unterstützung. > > Nun soll der Master ein Anfrage an den Slave senden. > Dieser soll daraufhin Antworten. Die Antwort enthält Nutzdaten. > Wie müsste dazu das Kommando aussehen? > > Beispiel Kommando response: > Datalength IDSend IDRecv Request .... > > Hat jemand sowas schonmal für ein Master Slave Prinzip mit Komandos > umgesetzt? Denk dir was aus! Das ist ja gerade das Tolle an der Programnmierung! Du bestimmts was Sache ist. Niemand sonst. Hör auf, sofort alles im Editor reinzuhacken. Nimm dir Papier und Bleistift und definiere in welcher Reihenfolge welche Bytes mit welchem Inhalt von wem zu wem geschickt werden. Achte darauf, dass der jeweilige Empfänger immer nur das weiß, was er von der Gegenstelle an Bytes bekommt, sprich: ein empfangenes Byte muss das weitere auslösen können, falls notwendig. Spiel das ganze in Gedanken (oder mit Papier und Bleistift) durch Der Sender sendet ein Byte: Welche Bits sind gesetzt? Was ist die Bedeutung des Bytes? Wie reagiert der Empfänger darauf? Was schickt er zurück? Müssen mehrere Bytes zurück übertragen werden, wie ist das dann? Sind das immer gleich viele oder unterschiedlich viele. Woran kann der neue Empfänger (der ursprüngliche Sender) erkennen, welcher Fall vorliegt? Muss er das überhaupt wissen oder erwartet er bei einer Antwort immer als erstes ein Byte welches ihm angibt wieviele Bytes noch kommen werden? Das ist das Salz in der Suppe der Programmierung. Du bestimmst wie die "Welt" funktioniert, nach welchen Regeln gespielt wird. Du bist für deinen µC Gott! So wie du die "Welt" für richtig befindest, so ist sie per Definition richtig (Ob deine Definitionen Sinn ergeben steht auf einem anderen Blatt. Aber das wirst du merken, wenn deine "Welt" nicht funktioniert)
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.