Moin! Meine Zusammenschaltung von 5 Atmegas soll über ISP vonstatten gehen, wobei nacheinender vom Master Solldaten an die Slaves und Istdaten zurück zum Master gesendet werden soll. Standard halt. Dazu versuche ich derzeit, mich in SPI einzulesen. Was ich nicht verstehe: (Unzutreffendes bitte streichen) Sende- ist gleich Empfangsschieberegister. Was bei M raus geht, geht bei S rein. M macht das so lange, bis er nix mehr zu senden hat, er hat schließlich die MACHT, den SCK. So weit so gut. Wenn aber der Slave etwas senden möchte? Woher weiss M, dass S noch was zu sagen hat und daher noch bissel weiterclocken muss??
Stephan R schrieb: > Sende- ist gleich Empfangsschieberegister. Was bei M raus geht, geht bei > S rein. M macht das so lange, bis er nix mehr zu senden hat, er hat > schließlich die MACHT, den SCK. So weit so gut. > > Wenn aber der Slave etwas senden möchte? Woher weiss M, dass S noch was > zu sagen hat und daher noch bissel weiterclocken muss?? schau dir mal die tutorials hier an und SPI auf wikipedia die übertragung zwischen master und slave läuft SYNCHRON. der master sendet ein byte und empfängt simultan eines. der slave kann also nur senden wenn er etwas vom master empfängt. also nicht eigenständig
Stephan R schrieb: > Sende- ist gleich Empfangsschieberegister. Logisch ja. Das ist aber nicht zwingend auch physikalisch so aufgebaut. Es können in Slave und/oder Master durchaus 2 getrennte Schieberegister sein. Allerdings werden die dann mit dem selben Takt angesteuert. > Wenn aber der Slave etwas senden möchte? Dann muß er warten, bis der Master das abholt. Der Slave könnte mit einer zusätzlichen Leitung seinen Übertragungswunsch ankündigen, aber üblicherweise werden SPI-Slaves (z.B. AD-Wandler) einfach schnell genung gepollt... ;-) > Woher weiss M, dass S noch was > zu sagen hat und daher noch bissel weiterclocken muss?? Das steht im Datenblatt des Slaves. Und wenn du selber den Slave programmierst, weißt du ja, welche Wortlänge übertragen werden soll.
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.