Hallo Zusammen, ich hoffe Ihr könnt mir hier helfen. Ich habe ein, meiner Meinung nach, kurioses Problem. Ich möchte das der Atmega64A acht Schalter (PORTA) ausliest, nachdem der PD3 gelöst worden ist und dann auf den Ausgängen (PORTC) die Outputs nacheinander kurz einschaltet, welche im Eingang aktiviert sind. Gar nicht so das Problem dachte ich. In der main Schleife funktioniert alles. Dann habe ich versucht den Code ein wenig aufzuräumen. Jetzt startet der ATmega immer neu sobald eine Funktion aufgerufen wird. Beispiel: In der Main while Schleife, habe ich eine for-schleife drin, die den Eingang ausliest und den Ausgang entsprechend aktiviert. Diese Schleife habe ich versucht in eine Funktion auszulagern (setCS). Ich habe einfach nur die for Schleife in eine Funktion kopiert. Sobald ich die For Schleife aus der while auskommentiere und dafür die Funktion reinsetze, startet der Atmega immer neu, sobald er die Funktion durchlaufen hat. Was sehr komisch ist, aktiviere ich die Funktion und lasse die For Schleife in der Hauptschleife drin, sehe ich das beide Schleifen ausgeführt werden, da er zweimal die Ausgänge schlatet... Das gleiche passiert, wenn ich die ganzen Initialisierungen für die DDRs und Ports in eine Funktion packe (setupPCB) und diese dann aktiviere und im Code auskommentiere. Dann startet er neu, sobald die setupPCB Funktion durchgelaufen ist. Ich bin wirklich überfragt. Ich kann natürlich auch alles in der Hauptschleife lassen, würde aber gerne später noch andere Funktionen hinzufügen. Würde es gar nicht funktionieren, hätte ich gedacht es liegt evtl. an der Verdrahtung, aber das selbe Verhalten zeigen zwei gleiche Microcontroller und wie gesagt in der Hauptschleife funktioniert es einwandfrei. Vielen Dank schon mal für ein paar Tips Stefan .
Stefan schrieb: > Jetzt > startet der ATmega immer neu sobald eine Funktion aufgerufen wird. M103 Fuse.
Das war schnell und die richtige Antwort. M103 deaktiviert und es funktioniert. Vielen Dank
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.