Od kilku lat modyfikuję kod mikrokontrolera AVR i PIC do pracy, ale nigdy nie napisałem niczego od zera, rozumiem to całkiem dobrze.
Zaczynam teraz pisać własny kod i mam problemy z rozpoczęciem. Zastanawiałem się, jak inne osoby zaczynają pisać kod i czy jest jakaś książka lub samouczek, które ludzie by to polecili.
Zaczynasz od zakodowania funkcji inicjalizacji, a następnie przerywa, a następnie timery, a następnie główną pętlę while (1) ... Zastanawiam się, jaki jest najlepszy sposób na rozpoczęcie pracy.
Dziękuję Ci
Mój ulubiony samouczek AVR-from-scratch-in-C to https://www.mainframe.cx/~ckuethe/avr-c-tutorial/
Każdy ma swój styl dla małych systemów wbudowanych. To moje:
Lubię używać wielu plików C, których nazwa tworzy prefiks funkcji. Na przykład
led_init()
iled_tick()
oba są wled.c
. Pozwala to zachować modułowość i ułatwia przenoszenie.Korzystam z
common.h
pliku nagłówka, aby zdefiniować typy, ale dla każdego modułu osobno zawiera.Zazwyczaj używam pojedynczego timera systemowego freerunning (w a
systime.c
), a następnie moduły wywołująsystime_get()
funkcję, aby pobrać bieżący czas w tikach systemowych lub milisekundach. Każdy moduł może następnie planować zdarzenia za pomocą timerów programowych przy użyciuX_tick()
funkcji.common.h:
uart.h:
uart.c:
led.h:
led.c:
main.c:
Oto dwa projekty w „świecie rzeczywistym” wykorzystujące ten styl dla AVR i MSP430 .
źródło