Forum: Mikrocontroller und Digitale Elektronik ADC ATMEGA16


von Björn (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich versuche seit einiger Zeit mich in die Programmierung eines
ATmega16 reinzuarbeiten... Leider komme ich bei der Programmierung des
ADC nicht weiter... Das Programm bleibt bei der Abfrage von ADIF
hängen.
LED_ein() ist eingebaut um zu sehen bis wo die Funktion funktioniert.
Ich habe auch das Tutorial GCC gelesen und den Code sogar zum Teil
übernommen aber die Lösung finde ich nicht. Muß ich irgendwas beachten
an das ich nicht gedacht habe.

Björn

von Werner B. (Gast)


Lesenswert?

1. Warum setzt Du "(1<<ADIE)" wenn Du doch die Interrupts global
sperrst?
2. Ändere mal "ADCSRA = (1<<ADSC);" in "ADCSRA |= (1<<ADSC);" - Du
scahltest nämlich ADEN dort wieder aus :)

Außerdem ist die Reihenfolge deiner Befehle etwas ... sagen wir
"gewöhnungsbedürftig". Dadurch kommt es aus zu solchen Pannen.

von Björn (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort!
Es funktioniert...
Mein Befehls Chaos kommt vermutlich vom vielen rumprobieren...
genau wie das sperren der globalen Interrupts.

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.