Input capture och output compare är funktioner hos mikrokontroller som gör att de kan mäta och generera vågformer exakt.
Indatafångst är processen att mäta tiden mellan två händelser. I en mikrokontroller görs detta vanligtvis genom att använda en timer för att mäta tiden mellan två stigande eller fallande flanker på en signal. Den uppmätta tiden kan användas för en mängd olika ändamål, som att mäta frekvensen av en signal, bestämma ett objekts position eller utlösa en händelse.
Utgångsjämförelse är processen att generera en vågform genom att slå på eller stänga av ett utgångsstift vid specifika tidpunkter. I en mikrokontroller görs detta vanligtvis genom att använda en timer för att generera ett avbrott med specifika intervall. Avbrottsservicerutinen kan sedan slå på eller av utgångsstiftet efter behov för att generera den önskade vågformen. Utgångsjämförelse kan användas för en mängd olika ändamål, som att generera PWM-signaler, driva stegmotorer eller generera ljudsignaler.
Input capture och output compare är kraftfulla funktioner som kan användas för att lägga till ett brett utbud av funktioner till en mikrokontroller. De är viktiga för många applikationer, såsom robotik, motorstyrning och ljudbehandling.