cześć,
od kilku dni bawię się w programowanie procesora atmega, sporo już wiem, ale brak doświadczenia robi swoje i na realizacje niektórych funkcji nie mam koncepcji.
potrzebuje napisać program (C), który będzie sterował, powiedzmy, 4 urządzeniami niezależnie (4 przekaźniki), każde urządzenie będzie miało swój czas pracy i czas przerwy (rzędu kilkudziesięciu minut), pytanie brzmi jak to zaimplementować.
nie prosze o gotowy kod, tylko jakąs koncepcje
pozdrawiam
@Edit
ok trochę pochodziłem po pokoju tam i spowrotem i wykombinowałem takie coś:
dla każdego urządzenia definiuje parę zmiennych, czas pracy, czas przerwy;
ustawiam 16b licznik aby generował przerwanie co 0.1s, w przerwaniu do każdego licznika urządzenia dodaje 0.1s (w zależności czy urządzenie aktualnie pracuje czy ma przerwę, to dodaje do odp zmiennej) ;
w pętli głównej sprawdzam czy czas pracy/czas przerwy == zadanemu czasowi pracy/czasowi przerwy i odpowiednio obsługuje
nada się?
od kilku dni bawię się w programowanie procesora atmega, sporo już wiem, ale brak doświadczenia robi swoje i na realizacje niektórych funkcji nie mam koncepcji.
potrzebuje napisać program (C), który będzie sterował, powiedzmy, 4 urządzeniami niezależnie (4 przekaźniki), każde urządzenie będzie miało swój czas pracy i czas przerwy (rzędu kilkudziesięciu minut), pytanie brzmi jak to zaimplementować.
nie prosze o gotowy kod, tylko jakąs koncepcje
pozdrawiam
@Edit
ok trochę pochodziłem po pokoju tam i spowrotem i wykombinowałem takie coś:
dla każdego urządzenia definiuje parę zmiennych, czas pracy, czas przerwy;
ustawiam 16b licznik aby generował przerwanie co 0.1s, w przerwaniu do każdego licznika urządzenia dodaje 0.1s (w zależności czy urządzenie aktualnie pracuje czy ma przerwę, to dodaje do odp zmiennej) ;
w pętli głównej sprawdzam czy czas pracy/czas przerwy == zadanemu czasowi pracy/czasowi przerwy i odpowiednio obsługuje
nada się?