Forum: Compiler & IDEs Analog comparator beim AT90pwm3


von Christian F. (chrigu)


Lesenswert?

Hallo,
Der Analog Comparator meines AT90pwm3 will einfach nicht funktionieren. 
Wenn ich am ACMP0 pin eine höhere spannung als am ACMPM pin anlege, soll 
ein interrupt ausgelöst werden (hier mal nur eine LED an PC7 an).
Als "test" habe ich folgenden Code geschrieben:


int main(void) {
  DDRC |= (1<<PC7);
  DDRD = 0x00

  /* analog comparator */

  AC0CON |= (1<<AC0EN) | (1<<AC0IE) | (1<<AC0IS0) | (1<<AC0IS1) | 
(1<<AC0M2); // raising edge, enable, extrenal voltage on ACMPM, 
interrupt enable
  sei();
  while(1);
}

ISR(_VECTOR(8)){
  PORTC |= (1<<PC7);
}

Das ganze funktioniet aber leider nicht! Die LED an PC7 bleibt dunkel.
Habe ich irgendwas vergessen?
Grüsse

von Christian Funck (Gast)


Lesenswert?

hallo nochmal,
bin dem problem schon näher gekommen: am analog comparator dürfte es 
nicht liegen, denn der comperator output wird richtig gesetzt. nur mit 
dem interrupt scheint etwas nicht in ordnung zu sein!

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.