Hallo Hab hier ein Problem mit obigem Quellcode. Dort ist in der Header-Datei eine globale Variable "ledOrange" angelegt. Die Verwendung dieser funktioniert im AVRStudio- Simulator, aber wenn ich das Programm mit Proteus (ähnlich Spice-Programmen) teste, dann funktioniert die globale Variable nicht mehr. Wo liegt denn da der Fehler?
lemmi187 schrieb: > Hab hier ein Problem mit obigem Quellcode. Dort ist in der Header-Datei > eine globale Variable "ledOrange" angelegt. Die Verwendung dieser > funktioniert im AVRStudio- Simulator, aber wenn ich das Programm mit > Proteus (ähnlich Spice-Programmen) teste, dann funktioniert die globale > Variable nicht mehr. Wie definierst du 'funktioniert nicht'? NB: Ist das der ganze Code? Du hast da bei den Timern jede Menge Interrupts freigegeben, für die es keine Handler gibt. Bei jedem Auftreten eines dieser Interrupts gibt es daher einen µC-Reset.
Also wenn ich den animierten Taster betätige, dann wird nur "PORTB |= (1<<PORTB1);" ausgeführt, also die LED D1 ausgeschalten. Aber die LED D2 sollte sich einschalten, tut sie aber nicht. Die gechriebenen TimerInterrupts hab ich auskommentiert, ich hab nur mal begonnen das inti() zu schreiben. Code kommt natürlich noch mehr dazu. Funktionieren tuts trotzdem nicht. Hab nochmal ein Bild der Schaltung dazugehängt.
lemmi187 schrieb: > Die gechriebenen TimerInterrupts hab ich auskommentiert, Bei der UART hast du auch Interrupts aktiviert. Tu dir doch mal einen Gefallen und wirf alles aus dem Programm raus, was nichts mit dem externen Interrupt, der globalen Variablen und den LED zu tun hat. Also: Minimalprogramm, wo jede Anweisung tatsächlich gebraucht wird und nichts überflüssig ist um die Aufgabenstellung 'Externer Interrupt schaltet 2 LED so wie gewünscht' zu lösen.
hab das jetz mal gemacht und alles funktioniert einwandfrei, danke. mfg
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.