rezasurmar napisał(a):
Wrzuciłem to do pliku common.h i też się wszystko ładnie kompiluje. Lubię mieć tylko niezbędne rzeczy w main

.
Aaaaaa tu cię mam "ptaszku"

a to żeś zakombinował .....
nie doczytałem się nigdzie, że to jest jakoś niezgodne ze stylem dobrego prorgamowania, ale pewnie to tylko kwestia czasu, raczej jestem pewien że się właśnie tego doczytam

Ja nigdy w życiu bym tak nie zrobił

... pliki nagłówkowe w zasadzie w ogóle nie powinny zawierać inkludów systemowych plików nagłówkowych, chyba, że:
1. zawierają funkcje typu inline i dla nich jest to potrzebne
2. zawierają właśnie np słówka PROGMEM czy EEMEM jak w poradniku
to co zrobiłeś totalnie zaciemnia (oczywiście wg mnie - ale ty możesz mieć własne zdanie) obraz projektu a szczególnie pliku main.c
gdyby iść tą drogą to w zasadzie można by tworzyć jeden wielki plik *.h który ma poinkludowane chyba wszystkie pliki systemowe nagłówkowe jakie są i WSZĘDZIE go inkludować .... ale bleeee

tu już dam sobie rękę a nawet głowę obciąć że to jest kicha i wcześniej czy później się na tym przejedziesz.
Dla mnie najważniejsza IDEA jest jedna.
KAŻDY ale to KAŻDY plik źródłowy powinien być zaopatrzony w odpowiednie inkludy i tylko w te, które są w nim konieczne. Ja lubię hmmm czasem muszę wręcz widzieć dzięki temu gdzie i z czego korzystam. Szybciej udaje się zapamiętywać same pliki nagłówkowe dzięki temu i kojarzyć je w głowie z odpowiednimi funkcjami wbudowanymi bez latania po dokumentacji avr-libc
powiem więcej, w tym przykładzie poradniku powinienem nawet usunąć
#include <util/delay.h>
ale zapomniałem - bo jest niepotrzebny i się pałęta jak znajda jakaś.
ooo nie nie - .... i tak czuję przez skórę że przy takiej praktyce jednak szybko (tzn za jakiś czas po problemach które cię dorwą i wyrwiesz sobie trochę włosów z głowy) ... wrócisz do tego co mówię, czyli inkludowania nagłówków systemowych w plikach źródłowych *.c w tym także w main.c ( to też tylko kwestia czasu )
akurat te inkludy wcale nie zaciemniają obrazu głównego pliku projektu ale go rozjaśniają - jak w każdym pliku *.c, a ty próbujesz zrobić wyłom i traktować main.c jakoś inaczej, no i *.h też jakiś zmutowany

_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]