Witam wszystkich serdecznie. Mam oto taki problem. Próbuję sterować świeceniem diody LED podłączonej do wyjścia PWM mikrokontrolera. Sterowanie odbywa się w ten sposób, iż podstawiam do rejestru OCRx używanego kanału PWM wartość i to powoduje, że dioda podpięta do tego kanału świeci z określoną intensywnością. Tak wszystko działało. Ale to mi nie wystarczało. Chciałem żeby modyfikować intensywność świecenia diody za pomocą wartości zapisanych w tablicy, którą umieściłem w pamięci flash mikrokontrolera. Od tego czasu zaczęły się problemy. Program kompiluje się bez błędów, ale nie działa tak jak ja bym sobie tego życzył. Ma być tak, że pętla for zwiększa lub zmniejsza wartość zmiennej indeksowej, która to wskazuje na wartość zapisaną w tablicy, którą trzeba wpisać do rejestru OCRx kontrolera PWM. W efekcie dioda ma się rozświetlać lub gasnąć według charakterystyki zapisanej w stałej tablicy. Niestety dzieje się tak że po wgraniu programu do mikrokontrolera, ten "mruga" diodą z różnymi intensywnościami w nieregularnych odstępach czasu. Nie mam pomysłu już jak to napisać żeby było dobrze. Proszę więc Was o pomoc.
Kod: C / C++