Optymalizacja kodu dla wydajności PWM
dla niektórych projektów, jest w porządku, aby mieć mikrokontroler Twidling Thumbs wiele czasu. Kiedy projekt wymaga od CPU do robienia jednej rzeczy w kółko, nie ma straty z nieefektywnym kodem – to działa, czy nie. Jeśli jednak projekt wymaga mikrokontrolera do wykonywania kilku rzeczy naraz, takich jak czujniki do odczytu, ściemniania diod LED i pisania danych szeregowych, wykorzystanie procesora może stać się problemem. [Robert] nie był zadowolony z Kodeksu, którego kontrolował ciąg LED, więc przepisał swój kod. Ze starej implementacji [Robert] kod użył 60% czasu procesora. Dzięki nowym i ulepszonym kodem procesor był zajęty tylko 8% czasu.
Kod działa za pomocą zegara sprzętowego, aby wyłączyć przerwanie. Po obliczeniu następnego czasu powinno ponownie uruchomić, i zmieniając stan linii danych, kod po prostu siedzi cicho, dopóki nie zostanie ponownie potrzebny.
To nie jest ładny hack, a nawet jeden, który możesz utrzymać w dłoniach, ale determinacja [Robert] w uzyskaniu μc do robienia tego, czego chce, jest godne podziwu.