lechoo wrote: Aby nie było widać migotania zaleca się żeby częstotliwość wybierania wynosiła min. 75Hz na jedną cyfrę, czyli trzeba użyć przerwań z częstotliwością min. 600Hz.
Tak to lechoo napisales jakby byl to dogmat. Tymczasem pobranie kolejnej cyfry z bufora, jej konwersja na kod 7-segmentowy, przelaczenie katody i wyswietlenie cyfry to jakies 15 us. Jesli zrobisz to na przerwaniu, to bedziesz musial zainicjalizowac licznik, uaktywnic przerwania i je obsluzyc.
Do czasu samej obslugi wyswietlacza dodasz jeszcze raz tyle na wejscie i wyjscie z przerwania. Czasem te pare mikrosekund ma znaczenie, i wtedy mozna kolejne iteracje obslugi displaya wplesc w obieg petli glownej by uniknac dodatkowego haraczu czasowego. jesli petla jest ciasna, co zwykle daje sie bez problemu zrobic, to mozna znacznie czesciej przelaczac wyswietlacz. Zaleta takiej konstrukcji jest wieksza czestosc obslugi wyswietlacza, oraz bardziej efektywne wykorzystanie czasu procesora. Potencjalne niebezpieczenstwo takze istnieje i polega na tym, ze jesli procek zajmie sie mocno jakims fragmentem programu to wyswietlacz moze nam mrugac. Ale w obsludze zdarzen w czasie rzeczywistym czasem lepiej jest nie wyswietlac przez chwile niz pogubic sie w sledzeniu rzeczywistosci. W ukladach bardziej wymagajacych stosuje sie specjalizowane uklady do obslugi wyswietlaczy, by odciazyc procesor. Wybor konkretnej metody obslugi zalezy od wymogow konkretnej aplikacji.
Powyzsza dywagacja nie jest bynajmniej negacja wywodow szanownego przedpiscy. chce jedynie zaznaczyc, ze prawie zawsze istnieje wiecej niz jedno "sluszne" rozwiazanie problemu i warto przygladnac sie wszystkim opcjom, by wlasciwie ustawic kompromis miedzy wymogami a nakladem sil i srodkow.
Pozdrawiam, Y E G O