Forum: Mikrocontroller und Digitale Elektronik atmega capture vom comparator


von Rolf J. (rolf_j)


Lesenswert?

Hallo,

ich möchte mit einem Cheapduino die Pulsbreite eines RC-Signales messen.
So im Prinzip wie im Artikel "High-Speed capture mit ATmega Timer".

Leider steht auf dem Winzling nicht der IPC1 Eingang des Timer 1 Capture 
zur Vefügung. Über den ACO-Eingang vom analogen Comparator könnte es 
aber gehen, da Winzling analoge Pins herausgeührt hat.

Ich teste das Ganze mit einem Arduino Uno. Der Comparator allein funzt, 
aber nicht der Einbau in den Code von "High-Speed capture mit ATmega 
Timer". Das ACO-Signal funktioniert, mit digitaler Ausgabe und Oszi 
geprüft.

Nur das ACO-Signal berwirkt kein Capture.

Der analoge Eingang ist mit

....
  ADCSRA = ADCSRA & !bit(ADEN);
  ADCSRB = bit (ACME);
  ADMUX = 0;

  ACSR =  bit (ACI)
          | bit (ACO)
          | bit (ACIC)
          | bit (ACBG);

  ACSR = ACSR & !bit(ACD);
...

im setup() initialisiert. Der Rest von Artikel-Code ist unverändert.


Fehlt noch was ? Habe ich im Datenblatt zum 328 was übersehen ?

von Peter D. (peda)


Lesenswert?

Rolf J. schrieb:
> ADCSRA = ADCSRA & !bit(ADEN);

! macht nicht das, was Du denkst. Schau mal ~ an.

von Rolf J. (rolf_j)


Lesenswert?

Autsch peinlich, das wars.

Danke

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.