Dobra, lecimy:
Watchdog powinnen rowiązać problem, ale to niestety też nie ma tego Arduino...
Arduino obsluguje watchdogi (stosuje u siebie w pulpicie celem wymuszania resetu za pomocą kombinacji)
#include <avr/wdt.h>
void setup()
{
wdt_disable(); // Disable the watchdog after reset
}
void resetMain()
{
// reset
// Reset the Arduino using the watchdog timer
wdt_enable(WDTO_15MS); // Wlacza WDT
while (1); // triggeruje WDT
}
}
Pamiętajmy, że Arduino to framework do pracy na kontrolerach. W arduino IDE bez problemu możemy uzyskać dostęp do libek avr, które mamy na wyciągnięcie ręki w np microchip studio.
brak dostepu do timerów, przerwań.
Tak jak wyżej, w arduino IDE bez problemu masz dostęp do libek avr (kod pisany w arduino ide poprostu ma na początku dodawane #include <Arduino.h>, które idzie pozniej przez ten sam kompilator z jakiego korzysta przykładowo Microchip Studio
Przerwania. Słyszał Pan o czymś takim? Na bibliotece Arduino to nie możliwe, ale na czystym AVR C jak najbardziej.
Słyszał, ale nie chce obciążać głównego kontrolera wszystkim czym sie tylko da, szczególnie, że z woltomierzami i amperomierzami potrafiły być cyrki w postaci spadków napięć (stąd decyzja o przeniesieniu mierników na osobny kontroler). Nastawnik to ze względu na liczbę wykorzystywanych pinów jest na osobnym kontrolerze.
No i porzućcie 30-letni parch AVR.
Mamy platformy STM, ESP czy inne, jednak na razie
moim zdaniem arduino jest na tyle udokumentowane i znane wszystkim, że bazowanie na platformie AVR to po prostu ułatwienie sobie pracy. Jak ktoś będzie odważny, to zrobi sobie swój projekt na innej platformie.
Układ fajny, ale ja już ci pisałem że za drogo i że nieco przewymiarowany.
Nie ja ustalałem cene.
Ogólnie to tak:
kazdy pulpit bedzie korzystal z innych rozwiazan. Wydaje mi sie ze ten wątek powinien służyć dzieleniu się wiedzą, a nie krytyką, że "hurr durr uzywasz starego avr". Kazdy wybiera to co uwaza za stosowne i spełniające oczekiwania.