Witam. Mam pytanie dotyczące umieszczenia obsługi przycisków w kodzie, a konkretnie - nie wiem czy zrobić obsługę zegara w timerze, a obsługę przycisków w pętli głównej czy też odwrotnie, a może to i to w timerze.
Wszystko zależy od projektu. Każde rozwiązanie jest dobre, jeżeli działa prawidłowo.
Napisz co Twój program będzie robił, jakie timery i do czego będzie wykorzystywał - wtedy będziemy mogli doradzić jak w tym konkretnym przypadku postąpić.
To po prostu zegarek, kod jest krótki, tylko że tak myślę, że jeżeli będę obsługiwał zegar w timerze, to będzie mi łatwiej zapanować nad nim z każdego miejsca w kodzie, ale z kolei przyciski w while(1) wydają mi się trochę dziwne.
bateria / zasilacz 12v przez przetwornicę, zegar korzysta z rtc, chociaż nie wiem czy robi to różnicę. A i jeszcze jedno pytanie a konkretnie czy jeżeli zrobię obsługę zegara w timerze to zmienne przechowujące czas będą globalne i czy powinny być typu volatile?
Inaczej projektuje się zegar dla zasilania z baterii, a zupełnie inaczej dla zasilania z zasilacza.
Jeżeli mikrokontroler ma być zasilany z baterii, to projekt musi drastycznie zminimalizować zużycie energii.
Aby to zrobić należy zmniejszyć radykalnie napięcie zasilania i zmniejszyć częstotliwość zegara F_CPU.
Należy także usypiać mikrokontroler ... i tutaj przechodzimy do Twojego pierwotnego pytania o obsługę przycisków.
W takim przypadku bowiem można/należy przyciski podłączyć pod piny przerwań INT, by naciśnięcie przycisku wybudziło mikrokontroler.