Witam,
Chciałem zrealizować opóźnienie czasowe załączenia urządzenie po wystąpieniu przerwania o czas tau2 który został zliczony przez timer wynosi on ok 70ms, tau2 jest w us czyli ok 70000us Napisałem dwie funkcje w oparciu o delay_ms i delay_us i otrzymuje dwa różne rezultaty, dlaczego?
Chciałem zrealizować opóźnienie czasowe załączenia urządzenie po wystąpieniu przerwania o czas tau2 który został zliczony przez timer wynosi on ok 70ms, tau2 jest w us czyli ok 70000us Napisałem dwie funkcje w oparciu o delay_ms i delay_us i otrzymuje dwa różne rezultaty, dlaczego?
ISR(INT0_vect) {
if (zal==1) {
wl=1;
for (k=0; k<(tau2/1000); k++) {
_delay_ms(1);
}
PORTA ^= (1<<PORTA0); //zmnien stan PA0
zal=0;
_delay_ms(2000);
}
}
ISR(INT0_vect) {
if (zal==1) {
wl=1;
for (k=0; k<(tau2); k++) {
_delay_us(1);
}
PORTA ^= (1<<PORTA0); //zmnien stan PA0
zal=0;
_delay_ms(2000);
}
}