Moin, ich hab da mal eine Frage, denn ich komme mit dem Datenblatt irgendwie nicht richtig zurecht... Ich schreib in C und hab den ATmega8... Meine Frage lautet, wie ich den Komparator initializieren muß, wenn ich möchte, dass der interrupt ausgelöst wird, wenn die spannung abfällt... Kann mir jemand helfen?? Danke schonmal im vorraus!!
Das ist mein bisheriger Quellcode...der Interrupt springt einfach nicht an... CLEARBIT(DDRD,DDD7); // PortPin als Eingang CLEARBIT(PORTD,DDD7); // Pullup abschalten ADMUX = ((0 << MUX0)|(1 << MUX1)|(1 << MUX2)|(1 << MUX3)| (1 << REFS1)| (1 << REFS0)); ACSR = ((1<<ACBG) | (1<<ACIS1) | (1<<ACIS0)); // Comparator eingeschaltet // interne Bandgap von 1,22V am nichtinvertierenden Eingang // Comparator Interrupt on rising output edge SETBIT(ACSR,ACI); // Request löschen SETBIT(ACSR,ACIE); // Comparator Interrupt enabled
Hallo Mephisto, hast du die Interrupt freigegeben, indem du im Statusregister mit __SEI(); das I-Flag gesetzt hast? Gruß Markus
Hi... Ich verstehe zwar dein C nicht ganz (weil ich in ASM arbeite), aber was hat ADMUX mit dem Analogkomparator zu tun? Ich kann mich erinnern, dass ich auch nicht beim ersten Lesen des ersten AVR-Datenblattes den Unterschied zwischen ADC und Analog-Komparator erkannt habe... Nimms daher nicht persönlich, wenn ich diesen Irrtum nicht ausschließe... Zum Umgang mit dem Analog-Komparator gibt es bei Atmel gute Beispiele in den Appnotes. Ist zwar meist für AT90S1200 (oder andere Classics), das Prinzip ist aber überall gleich oder ähnlich... Bit- & Bytebruch und viel Erfolg... ...HanneS...
Danke für dem Tip, aber ich glaube das Muss so sein,denn ich möchte die 1,23 V als referenzspannung verwenden...und ohne die Anweisung klappt es leider auch nicht... Leider...;(
Hi... Sorry, an interne Referenz dachte ich jetzt leider nicht... Schau dir mal ACME in SFIOR an, könnte vielleicht helfen... Gruß... ...HanneS...
Klappt dies? // Analog Comparator initialization // Analog Comparator: On // The Analog Comparator's positive input is // connected to the Bandgap Voltage Reference // Interrupt on Falling Output Edge // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x4A; SFIOR=0x00; Gruß
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.