Hallo nochmals, mal eine kurze Frage zu alternativen Pin-Funktionen. Angenommen ich möchte die Input-Capture-Funktion des Timers 1 benutzen, wie mache ich das? Im Datenblatt meines Controllers steht das der PE0 als alternative Funktion auch als ICP (Input-Capture-Pin) für den Timer verwendet werden kann. Dann steht dort noch etwas von Override Signals, allerdings komme ich damit nicht ganz zurecht und das AVR-Tut. hilft mir in dieser Hinsicht irgendwie auch nicht. MfG
Hi > Dann steht dort noch etwas von Override Signals, allerdings komme >ich damit nicht ganz zurecht und das AVR-Tut. hilft mir in dieser >Hinsicht irgendwie auch nicht. Das bezieht sich auf das Verhalten des PINs im Normal- bzw. den verschiedenen Sleep-Modes. ICP habe ich noch nicht gebraucht, aber wenn ich das richtig sehe brauchst du nur den Interrupt aktivieren und eine passende ISR zu schreiben. MfG Spess
Hmm, ich habe mal probiert mit dem Timer1 ein PWM-Signal eines Empfängers auszuwerten. Signallänge die üblichen 20ms, 1ms=-100% und 2ms=+100%. Mit dem Programm wollte ich einfach nur ein- oder ausschalten, also bei Signal<1,5ms auf aus und bei Signal>1,5ms auf ein. Wenn ich den Timer mit 3,686MHz Taktfrequenz laufen lasse entsprächen 1,5ms in etwa einer 5529. Als Eingang habe ich PE0 genommen (laut Datenblatt alternative Funktion ICP). Das Programm ist mal im Anhang, funktioniert aber nicht... Liegt das daran dass das Programm eh murks ist oder womöglich daran dass da was mit dem ICP nicht hin kommt? MfG
Hallo, das kann nichts werden ...
1 | TCCR1B=(1<<ICES1); //ICES1=1 => Reaktion auf steigende |
2 | TCCR1B=(1<<CS10); //Takt auf CPU-Takt gesetzt |
die zweite Zeile überschreibt den Zustand der ersten Zeile! nimm das richtige Register.
1 | if(ICES1==1) |
ICES1 ist eine definierte Konstante und verändert ihren Wert nie! Sascha
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.