Tomasz Wasilczyk

programista

tAVRlib

strona: tavrlib.wasilczyk.pl

Biblioteka do obsługi urządzeń, takich jak wyświetlacz HD44780, w mikrokontrolerach AVR. Nastawiona na jakość kodu i oszczędność zasobów.

  • C
  • mikrokontrolery
  • AVR

Potrzeba jakości kodu

Kiedy zacząłem przygodę z mikrokontrolerami AVR, byłem zniesmaczony jakością kodu bibliotek napisanych przez innych hobbystów. Większość z nich twierdziła, że musieli je wykonać w ten sposób, ponieważ ich kod jest dzięki temu mały (zużywa mało pamięci na program) i szybki.

Nie czułem się dobrze z takim zestawem bibliotek, więc postanowiłem napisać własną bibliotekę podstawową, obsługującą najpotrzebniejsze urządzenia (takie jak prosty wyświetlacz LCD, zewnętrzna pamięć eeprom lub ekspandery portów). Myślę, że udało mi się osiągnąć większość z założeń, ale wciąż nie jestem zadowolony z formy: dla lepszej optymalizacji kodu, kod źródłowy biblioteki jest dołączany na końcu plików nagłówkowych. Dzięki temu kompilator lepiej kompaktuje kod maszynowy, ale to podejście łamie zasady programowania w C. Mimo to, biblioteka jest moim zdaniem wciąż lepiej napisana niż te wcześniej dostępne.

Na wydanie czeka kolejna wersja, dodająca obsługę kilku nowych urządzeń.