miki53 napisał(a):
Może zadam pytanie inaczej bo wielu ogląda a odpowiedzi ani jednej
Twoje pytanie wskazuje po prostu, że nie rozumiesz, jak działają dyrektywy preprocesora. Nikt nie odpowiada, bo to sporo tłumaczenia jest...
W największym skrócie - nie da się tego zrobić tak, jak próbujesz. Dyrektywy są analizowane i wykonywane podczas budowania programu. Nie mogą być zmieniane przez skompilowany, działający już program (choćby dlatego, że zmiana jakiejkolwiek dyrektywy wymaga ponownej kompilacji). Decyzję o tym, jaką wartość przypiszesz do SYNCH_WIFI (0 lub 1) musisz podjąć przed kompilacją.
Nie znam kodu z książki, ale myślę, że rozwiązaniem byłoby po prostu dodanie do enum trzeciej opcji w stylu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i modyfikacja kodu w pliku
mk_pcf8583.c w taki sposób, by obsługiwał tę trzecią opcję.