Hallo Zusammen, ich habe zweit controller über den UART miteinander verbunden was teilweise Funktioniert aber mein ATmega32 Stürtzt ab. Der Sender AT90S2313 PIN Txd ist driekt mit dem ATmega32 PIN RxD über eine Drahtbrücke verbunden .... geht das so direkt oder muß ich da noch andere Bauteile zwischen schalten??? Beide Controller hängen an der gleichen Spannungsquelle. Wenn die Verdrahtung richtig ist kannst ja nur am Programm liegen. Zur Uart kommunikation habe ich ein Beispiel von Roboternetz.de genommen und es auch mit dem Beispiel von ATMEL selber probiert. Doch nach wenigen gesendeten bytes verhält sich mein Controller wie in einem Artikel auf roboternetz.de beschrieben wenn ein Interrupt ausgelöst ist aber keine ISR vorhanden ist er fängt bei NULL an. Trotz default Interrupt routine passiert das. Die Daten die Ankommen sind richtig. Die Fusebits sethen auf externen Quarz der bei 16Mhz liegt. Ich habe einen vermutet das der Stack überläuft aber nachdem ich da Programm auf ein minimum reduziert habe ist es immer noch da mein Problem vielleicht habe ich ja was ganz einfaches übersehen. Es wäre nett wenn mir jemand helfen kann Gruß Dirk ;o)
Bei solchen Direktverbindungen sollte man grundsätzlich Strombegrenzungswiderstände dazwischenschalten, damit bei einer Fehlkonfiguration (kann immer mal passieren, z.B. versehentlich beide Pins als Ausgang geschaltet und gegeneinander arbeiten lassen) nicht gleich die Hardware in die Fritten geht.
Mit welcher Frequenz läuft eigentlich der 2313? Möglicherweise eine Nicht-Übereinstimmung bei den Baudraten?
Wenn du dein Programm in Verdacht hast, müsstest du es mal herzeigen.
Habe das Programm gerade nicht dabei (bin im Büro) Die UART kommunikation ist von Roboternetz.de RN-Wissen zu finden unter Hautthema Praxis unter U wie UART mit avr-gcc davon die variante mit dem Interrupt. Wenn ich mir die Software vom Ct-Bot anschaue ist mein Programm eher ein Progrämchen. Habe im .lss oder wars die .map nachgesehen und komme auf 257Byte für Variablen vielleicht das gleiche noch mal für Text. der RAM sollte mehr als reichen vor allem da das Programm vorher in einem AT90S8515 ohne UART lief.
@johnny.m Wie sieht die Schaltung den aus so ein 10K Ohm wiederstand gegen Masse oder +5V oder in reihe. Hast Du irgendwo ein Beispiel was ich mir anschauen kann ich finde immer nur UART verbindungen über RS232 und die einzige Schaltung wo zweit controller miteinander verbunden waren finde ich nicht mehr. Die Drahtbrücke soll übrigens gegen IR Sender beim AT90S2313 und Empfänger TSOp17xx beim ATmega32 ausgetauscht werden habe dies nur noch nicht gemacht weil ich die Resets erst klären wollte bevor ich wieder den Lötkolben schwinge.
Einfach nen Widerstand zwischen die beiden Pins (also in Reihe, wenn Du es so willst), damit kein Strom fließen kann, der größer ist als das was die Portpins dürfen (z.B. so 470Ohm -> max. 10mA). Dann biste auf der sicheren Seite.
@johnny.m Danke für deine Hilfe werde es heute Abend mal ausprobieren oder gleich die IR schnittstelle einbauen.
Moin Moin hat gestern nicht mehr geklappt mit dem Programm. Habe es aber geschaft es im AVR-Studio Simulator laufen zu lassen und konnte den Stack beobachten der sich nur um wenige Bytes verschiebt auch läuft es hier stabil. Habe einpaar Text Strings im Programm auskommentiert und siehe da es läuft stabiler im Kontroller das heißt er stürtzt jetzt nur noch alle minte mal ab. Nur komisch das der Speicher im Simulator so leer aussieht auch mit den Text Strings. Wie mach ich das hier mit dem Programm vielleicht kann ja mal jemand reinschauen. Soll ich jede Datei einzelt hochladen oder als zip??? Gruß Dirk ;o)
Manche machen zwei/mehrere Posts, andere packen die Dateien ins zip...
So hier sind die Quellen währe schön wenn sich das mal jemand anschauen kann und mir einen Tipp geben. Ob es an der Sofware liegt.
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.