Hallo, ich verstehe die Welt nicht mehr und ich hoffe, dass ihr mir weiterhelfen könnt. In letzter Zeit beschäftige ich mit µC und benutze AVR Studio 5. Aktuell versuche ich eine Kommunikation über die serielle Schnittstelle mit meinem Controller herzustellen. Letzte Woche habe ich dafür einen ATmega16 verwendet. Da konnte ich ohne Probleme eine Zeichenkette wie "Hallo Welt " mit der Funktion uart_puts ausgeben. Heute wollte ich es bei einem ATmega324a versuchen, nur leider reagiert der Controller nicht und sogar das Hyperterminal meldet "Unable to open COM5. Please check your port settings". Zuerst habe ich die Schuld bei den Einstellungen von der seriellen Schnittstelle gesucht, weil der ATmega324a über zwei verschiedene verfügt und ich die Registernamen ändern musste. Nur funktioniert alles ohne Probleme wenn mein Programm nur die Funktionen USART_Receive und uart_putc verwendet. Ich versteh nicht warum uart_puts Probleme macht. Optimierung ist ausgeschaltet. Kann mir vielleicht einer einen Hinweis geben? Der Code ist im Anhang Danke!
So, ich bin es wieder. Ich glaube, dass das Problem in der Schaltung liegt. Wie kann ich die Funktionsweise des Quarzes überprüfen bzw. wie gehe ich bei der Fehlersuche am besten vor? Der Max3232 funktioniert ohne Probleme, weil ich RX und TX vom Controller verbunden habe und prima Zeichen über den Hyperterminal senden und lesen konnte. Die Software scheint auch ohne Probleme zu funktionieren, weil ich ein einzelnes Zeichen senden kann. Sobald ich aber mehrere Zeichen hintereinander senden, kommt ein Blödsinn am Hyperterminal an. Danke! LG, Toni
Hi, jetzt bin ich es schon wieder. Kann es sein, dass AVR Studio 5 Strings für einen ATmega16 und für einen ATmega324a unterschiedlich behandelt? Danke! LG, Toni
So Leute ich hab es endlich geschafft. Es handelt sich dabei um einen Bug vom AVR Studio. http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=107811&start=0&postdays=0&postorder=asc&highlight= Anscheinend funktionieren String nicht, wenn man den ATmega324a als Device im Studio auswählt. Stattdessen soll man z.B. ATmega324PA auswählen - kompilieren und den hex Code aut den ATmega324a runterladen. Damit funktioniert alles. Jetzt kann ich wieder beruhigt schlafen!
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.