Hallo an alle Experten, ich habe folgendes Problem: Ich möchte zwei ATMega644 so einfach wie möglich seriell miteinander verbinden. Die Daten die übertragen werden sollen sind sehr klein und dürfen auch "langsam" übertragen werden. Als Programmiersprache verwende ich C Was ich bisher heraus bekommen habe, das es über UART machbar sein sollte. Da ich aus Platzgründen die Platine von AVR1 sehr klein halten muss, habe ich kein Quarz verwendet, sondern vertraue auf den internen Takt. Natürlich müssen Takt und Baudrate von AVR1 und AVR2 gleich sein und RX/TX gekreuzt verbunden. Hier was übertragen werden soll: Das muss der sender machen (AVR1): if(Taster gedrückt) { sende die Zahl "1" } Das muss der Empfänger machen (AVR2): warten auf daten... if(empfangener Wert==1) { PINA & (1<<PINA1) } In wirklichkeit sende ich natürlich unter anderen Bedingungen, aber mir geht es hier nur um die kommunikation. In eine Richtung würde mir sogar fürs erste reichen. Insgesammt sollen nur die Zahle 1, 2, 3, 4, 5, 6, 7 und 8 übertragen werden. Ob in Binär, Hex oder Dez ist natürlich vollkommen egal. Ich hoffe es kann mir jemand helfen, denn damit habe ich bisher keinerlei Erfahrung Vielen Dank im Vorraus
Heiko K. schrieb: > Da ich aus Platzgründen die Platine von AVR1 sehr klein halten > muss, habe ich kein Quarz verwendet, sondern vertraue auf den internen > Takt. Dann solltest du vielleicht nicht auf den USART setzen, sondern eine Datenverbindung über SPI verwenden. Da ist der Takt wurscht.
Thomas W. schrieb: > Dann solltest du vielleicht nicht auf den USART setzen, sondern eine > Datenverbindung über SPI verwenden. Da ist der Takt wurscht. Man kann die USART auch synchron betreiben, dann spielt der Systemtakt ebenfalls keine große Rolle mehr. Es ist aber natürlich zusätzlich zu den beiden Datenleitungen eine Taktleitung zu ziehen.
Heiko K. schrieb: > Ich möchte zwei ATMega644 so einfach wie möglich seriell miteinander > verbinden. Die Daten die übertragen werden sollen sind sehr klein und > dürfen auch "langsam" übertragen werden. Einfach im Sinne der Hardware oder wie´s am einfachsten zu programmieren ist? Wie weit sind beide Controller voneinander entfernt?!
Heiko K. schrieb: > In wirklichkeit sende ich natürlich unter anderen Bedingungen, aber mir > geht es hier nur um die kommunikation. In eine Richtung würde mir sogar > fürs erste reichen. Und? Mit welchem Teil vom AVR-GCC-Tutorial (WEiterleitung UART) kommst du nicht klar?
Nimm I²C Einen als Master der andere als Slave. da isses dann auch Wurst wie die AVRs Takten. 2 Leitungen für Daten + GND und Fertig. ggf sind noch 2 Externe Widerstände nötig, ob man die Internen benutzen kann weiß ich nicht.
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.