Hay ich will 6 Controller über einen UART Bus aneinander anschließen. Es gibt einen Master und 5 Slaves. Der Master Soll werte zu den anderen Uc´s senden und diese geben jeweils einen Wert zurück. Mein Problem: Die Slaves senden den Rückgabewert sofort bei empfangen der Werte vom Master. Wie mache ich das die Controller nicht alle auf einmal senden?
Zum Beispiel indem der Master immer explizit einen Slave anfragt und dann auch nur der gefragte antworten darf. Also den Slaves Adressen geben und für dein Projekt(Protokoll) vereinbaren, das nur reden darf, wer gefragt wurde!!! MfG Hans
Also der Master Sendet Werte zum Slave 1. Der Antwortet Sofort. Erst nach erhalt der Antwort sendet der Master Daten zum Slave 2.... und immer so weiter... Wäre ne Idee :D Danke
Was für Teile hast Du in Deiner Weisheit miteinander verbunden. Wenn Du in eine Gruppe Leute "Hallo" reinrufst, so drehen sich alle Köpfe in Deine Richtung. Ist nun mal so.
Übrigens: Das (U) in USART steht für universal. Sprichst Du I²C, RS232 oder SPI mit deiner Peripherie?
auch Hay >Wie mache ich das die Controller nicht alle auf einmal senden? Das wurde bereits erfunden. Es nennt sich LIN Bus. http://de.wikipedia.org/wiki/Local_Interconnect_Network Gruss
Aber wenn er schon an etwas so einfachem scheitert, wie und warum soll er n ganzen protokollstack implementieren?! @amateur: Meine dunkle Vorahnung sagt mir das da 6 Kontroller parallel an Rx und Tx verbunden sind :( solange alle Pins genug Strom treiben können, könnt das gut gehen ;) aber grenzt halt schon an Käferquälerei :-D
Warum nicht alle Controller so verbinden daß Rx von einem mit Tx vom nächsten verbunden ist? Dann muss nur sichergestellt werden, das jeder slave die nicht für ihn bestimmten Daten weiter gibt. Das kann man ja recht einfach und ohne großen Protokollaufwand lösen indem man immer 2 Byte schickt. Das erste mit der Nummer des Controllers und das zweite mit den Daten. Frank
@Hans RxD ist ja noch OK. Aber hoffentlich haben die Dinger bei ihrer Geburt aufgepasst und sich ihren Namen gemerkt. Sonst geht’s denen wie der oben angeführten Gruppe: Einer ruft "Hallo" und alle fühlen sich angesprochen;-) Schätze mal dafür braucht’s keinen Bus. Die oberste Maxime bleibt aber: Halt die Fresse! Sonst geht’s heiß her! Zumindest auf der TxD Linie wenn alle Quatschen. Meine Glaskugel zeigt aber, im Moment nur Nebel.
Kann man alles machen, nur leider hat sich der TO nicht weiter gerührt. Scheinbar hat ihm meine erste Antwort gereicht, was meine Vorahnung leider weiter unterstreicht...
Bei Atmels AVR gibt es den Multi ProzessorComunication Mode. Dabei werden 9 bit verschickt, ist das neunte bit 1, handelt es sich um eine Adresse, ist es 0, sind es Daten.
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.