Witam,
przerabiam aktualnie poradniki pana Mirka na temat Magic LED-ów. Wszystko działa fajnie ale podczas ćwiczeń i napotkałem dziwne zachowanie programu, którego nie potrafię sam wyjaśnić... Już mówię o co chodzi. Mam linijkę składającą się z 8 diod LED.
W programie zapalam 3 piksele:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wszystko działa jak należy. Problem pojawia się, kiedy nie umieszczę na samym początku funkcji
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli wysyłam do mikrokontrolera skompilowany kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Gdy pominę funkcję ws_cls( pasek, 0);, która zeruje bufor danych wysyłanych do diod przy wgrywaniu tego samego wsadu za pomocą przycisku "Upload current project..." na 10 prób wgrania bywa że dwa-trzy razy diody zapalają się przypadkowo w innych kolorach (nie tylko piksele 3, 5, 8 ale również 1, 7, 2 itd).
Bufor jest tablicą składającą się z 8 elementów, z których każdy jest strukturą z trzema polami uint8_t. Przy starcie programu komórki tablicy powinny być wyzerowane a moim przypadku wygląda jakby nie zawsze były....
Funkcja ws_cls( pasek, 0) zeruje wszystkie elementy tablicy i nigdy po jej użyciu nie zdarzyło się żeby diody zapaliły się przypadkowo. Koledzy którzy przerabiali te poradniki na pewno czuja dobrze temat. W związku z tym proszę o wskazówkę gdzie może być błąd?
Pozdrawiam
