also, ich bin blutiger Anfänger bei uC. Ich hab folgendes Problem, hab heut mein STK500 bekommen (freu), und da war auch schon ein ATmega8515L dabei, toll, jetzt hab ich ihn mit AVR Studio programmiert,und zwar mit dem meinem 1. richtigen programm(na ja vieles abgeschaut, wie denn auch sonst): soll nach einer gewissen Zeit ein LED zum leuchten bringen und ein anderes löschen, so weit so gut, ich hab das versucht mit einem 8bit timer zu lösen, doch oh wunder auch wenn es in der simulation geht, in real leuchtet nur das eine LED und das andere bleibt dunkel. nach vielen tests hab ich bemerkt, das der Timer overflow interupt nicht ausgelöst wird, warum? mach ich was falsch, ich habs mit 4MHz simuliert, und der mega is mit 3,68MHz auf em bord ja nicht gerade langsamer. also bitte HILFE, bin noch am verzweifeln, das der mist nicht klappt schaut euch mal das programm an und dann sagt mir das mein mega nicht kaput ist sondern mein HIRN (= wenn ihr zeit habt, probiert doch mal das Programm bei euch und sagt ob es geht danke schon mal im Voraus
Ich vermute, Du hast die Interrupt-Vektoren nicht auf den richtigen µC umgeschrieben? Und es wird immer nur eine LED leuchten? ldi temp, 0b11111110 out PORTB, temp Bernhard
ja das iust mir klar, aber ich hab den Timer interupt auch schon auf verschiedene andere adressen gestetzt, und im Datasheet steht sie ja richtig drin,an der adresse, an der ich sie hab. Folglich der interupt Vektor stimmt. und ldi temp, 0b11111110 out PORTB, temp wird nicht ausgeführt, da die falsche LED leuchtet, also wird nur ldi temp, 0b01111111 out PORTB, temp ausgeführt; also das ist wohl doch die richtige Konfiguration,aber da ich heut abend einen ATmega16 bekomm, probier ich das gleich mal mit dem aus.
...Ich hoffe, Du denkst daran, dass beim Mega16 die Interrupt-Vektortabelle komplett anders ist (v.a. dass die Interrupt-Vektoren 2 Wort breit sind und demnach ein einzelnes 'reti' bei nicht verwendeten Vektoren nicht ausreicht...)...
danke für den hinweis, werd ich jetzt gleich mal ausprobieren
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.