-
Also hab das nun mit dem Interrupt probiert aber irgendwie komm ich damit auch nicht weiter mein Quelltext sieht ungefähr(was ich jetzt noch im kopf habe) so aus:
Code:
ISR(PCINT3_vect) // der Auslösende Interrupt PCINT31
{
TCNT0 = 0; //der Counter wird zurückgesetzt auf 0
}
...
uint8_t zeit;
TCCR0B = 0x01; //Counter starten mit Systemtakt
TMSK3 = _BV(PCINT3); //Interrupt an PD7 enable
PCICR = _BV(PCIE3); //Interrupt enable
zeit = TCNT0;
So hoffe ist originalgetreu, jedenfalls es klappt er lösst den Interrupt aus, habs vorher ausprobiert indem ich zeit global gemacht habe und beim interrupt auf 1 gesetzt habe.
Aber Wieder bei einem konstanten Signal ändert sich die Zeit.
Ist es vll. möglich das die flanken sich so schnell ändern das der µC nicht hinterher kommt??? (Kann es mir eigentlich nicht vorstellen da auf dem oszi die die zeit zwischen steigende/fallende Flanke 1ms beträgt)