şu şekilde basit bir çözüm olabilir. WDT kapalı olduğu için wdt reset'e gerek yok. wdt reset sadece watchdog timer ı sıfırlar. başka hiçbir yere etki etmez.
int16 sure;
while(1) // Sonsuz döngü için
{
sure=0;
while(sensor) // sensörden sıfır gelince otomatik bırakır.
{
sure++;
delay_us(100); // çok daha hassas olması için her pin denetimini 100 mikro saniye aldım. bu ürünün sensörden geçme süresi değil.
}
// sure artık geçen süredir.
}
veya bu tür işlerde kullanılan en güzel yöntem portb'nin port change interruptını kullanmak.