Hallo,
ich würde das einfacher lösen. Ohne Interrupts und Timer/Counter.
Vom Prinzip:
Code:
void messung()
{
while(PIN_AUF_HIGH)
{
//do nothing
}
unsigned int counter=0;
while(PIN_AUF_LOW)
{
counter++;
warte_wenige_mikrosekunden();
}
return counter;
}
Da müsste man halt noch einen Sicherheitszähler o.ä. rein machen, damit das Programm bei zeitlich konstantem High oder Low-Pegel das Programm nicht hängen bleibt!
Grüße, Bernhard
PS: Die Zeiten kommen mir bekannt vor
Robocupjunior neuer Ball (RCJ-05) - Auswertung mit einem TSOP?
Lesezeichen