@alanger Dziękuję za uwagi, zaraz sprawdzę i poprawię! :)
Nie miałem pojęcia o promocji do inta :/, jak teraz pomyślę, to mogło przynieść niemiłe konsekwencje.
Dlaczego nie uzależniłem częstotliwości timera od F_CPU? Nie wiem, nie myślałem o tym, dzięki za fajny pomysł!
Co do wykonywania akcji w przerwaniu - chciałem, żeby czasy w miarę możliwości były równe - obsługa modułów z chipselect po spi, usart przy 500B/s.
W mojej metodzie jest możliwość tracenia przerwań, jak akcja się będzie wykonywać > niż jakieś 1800 asm rozkazów, a w Twojej nie jest gwarantowana stałość czasowa. Twoja jest bezsprzecznie lepsza przy takim samym założeniu, traci się max 31 rozkazów w najgorszym wypadku na ifjumpy
Na pewno zaimplementuję Twoje, bo do komunikacji z matrycą led czy hd44780 wydaje się być idealne. bo jest lepsze.
Wersja z samym generatorem pinów się nie sprawdziła - kłopoty przy robieniu fajnych bibliotek które można złączyć z tym fake asyncem, np dodanie 2.,3 wyświetlacza - kodu coraz więcej i końca nie widać.
Przerabiam teraz porty na generator + szablon, co pozwala na fajne ustawienia
Co do plików - tam jest niezły burdel :D. W pliku h metody, plików cpp ni ma - wiem, że to oczy wypala, ale na razie wszystko jest szkicem - nie wiem czy za chwilę pół rozwiązań nie pójdzie do kosza.