• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zmiana stanów logicznych oświetlenia
#22
(25-11-2019, 19:48)Krzaczek napisał(a): Co do przerwań to czy zmienią one fakt, który opisywałem wcześniej? Nie chodzi mi o to czy czasowo program wpasuje się aby włączyć i wyłączyć lampkę bo robi to dobrze tylko czy po przekroczeniu przedziałów czasowych będe mógł operować manualnie lampką?
Nie będziesz miał flag "lampka_świeci" i podobny, program się uprości.
Tylko raz, gdy czas będzie równy czasowi on/off lampka zmieni stan. To beda us. Poza sytuacjami gdy ma nastąpić automatyczne przełączenie przyciskiem możesz zmienic stan lampki.

Widać, że nie rozumiesz mechanizmu przerwań, musisz zapoznać się z tematem.
W pierwszej wersji softu zrezygnuj z płynnej zmiany świecenia lampki, zrób on/off (pwm min/max). Jak już program będzie działał poprawnie dodasz płynną zmianę świecenia, naturalnie na przerwaniach. W AVR nie ma innej możliwości aby zapewnić płynną zmianę (nie ma DMA). Czas wykonania pętli głównej jest różny, zależy od wielu warunków.
AVR to nie 8080 gdzie miesiącami pisano kod, aby funkcja wykonywała się zawsze w tym samym czasie bez względu na to czy warunek był czy nie wykonany. Tego w C nie zrobisz (za dużo roboty), tylko ASM wchodzi w grę. Przerwania będą przeszkadzać i taka metoda jest dobra dla prostych zadań. Znam tylko jeden program, działający na tej zasadzie. Ile go pisano? Nie wiem ale pewnie rok czy dwa przez zespół osób.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Zmiana stanów logicznych oświetlenia - przez semi - 25-11-2019, 20:22

Skocz do:


Przeglądający: 1 gości