18-06-2022, 21:08
(Ten post był ostatnio modyfikowany: 18-06-2022, 21:09 przez Robson Kerman.)
Przerwanie musi zostać, bo timer musi wejść w wektor aby się zresetować, inaczej na pinach 9 i 10 nie będzie pwm.
Ta flaga owszem nic nie robi i można ją wywalić. W ogóle można dużo rzeczy z tego kodu wywalić.
Po drugie, jeśli uruchomisz Timer1 w taki sposób jak masz napisane w funkcji void timer_setup(int16_t f), to program nigdy nie wyjdzie z while ((millis() - start_time) < 10), więc tak jak napisałeś, woltomierz przestaje działać.
Jak już masz ten zegar ustawiony, to czemu by jego nie wykorzystać do liczenia czasu próbkowania?
Ta flaga owszem nic nie robi i można ją wywalić. W ogóle można dużo rzeczy z tego kodu wywalić.
Po drugie, jeśli uruchomisz Timer1 w taki sposób jak masz napisane w funkcji void timer_setup(int16_t f), to program nigdy nie wyjdzie z while ((millis() - start_time) < 10), więc tak jak napisałeś, woltomierz przestaje działać.
Jak już masz ten zegar ustawiony, to czemu by jego nie wykorzystać do liczenia czasu próbkowania?
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.