Forum: Mikrocontroller und Digitale Elektronik I-Bit in SREG blockiert ADC und Timer ?


von LC-HC (Gast)


Lesenswert?

Hallo,

folgendes Problem stellt sich mir (AT90CAN128):
Sobald das globale Interruptflag gesetzt ist, läuft der ADC und Timer,
bzw. alle Interruptgenerierenden Einrichtungen nicht mehr. Kann das an

 Fusebits liegen ? Ich hab im Datenblatt intensiv gesucht, aber dazu
nichts gefunden. Der ganze Code wäre jetzt zu lange, um ihn zu posten.
Die gleichen Funktionen (ADC, Timer, DAC) hab ich auch schon in anderen
Atmega´s verwendet, ohne damit problemem zu haben. Wenn jemand was
weiß...

mfg,

Simon

von johnny.m (Gast)


Lesenswert?

> ...läuft der ADC und Timer, bzw. alle Interruptgenerierenden
> Einrichtungen nicht mehr...

Was heißt "laufen nicht mehr"? Kommen lediglich keine Interrupts
mehr, oder hat es andere Auswirkungen? An sich kann es so nicht sein.
Wenn Du allerdings, wie wahrscheinlich in Deinem anderen Thread, die
falschen Interrupt-Vektoren benutzt hast, dann kann es durchaus sein,
dass es ständig Resets gibt...

von LC-HC (Gast)


Lesenswert?

Es wird einfach kein code mehr ausgeführt. Um das Problem etwas zu
präzisieren:
Der ADC läuft einwandfrei, solange "kein" sei() gesetzt ist. Werden
aber mit sei() interrupts zugelassen, wird ab dem setzen von ADSC (zum
starten der wandlung)in einer adc-initialisierungsfunktion kein befehl
mehr verarbeitet. Aufgehängt , oder was auch immer ...
Ich häng da seit zwei tagen dran, kann doch nicht so schwer sein..
Ach ja, programmiert wird mit GCC-AVR

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
Noch kein Account? Hier anmelden.