Tak się przyglądam tej bibliotece - hmm ja wprawdzie nie używam takich bibliotek bez obsługi plików ale jak to się mówi "nigdy nie mów nigdy"
może kiedyś się przyda takie podejście. A dla osób, które wykorzystują takie podejście taka biblioteka na pewno będzie nie lada gratką.
barney napisał(a):
I mimo tego, że narobiłem się co nie miara
Naprawdę widać, że włożyłeś kawał pracy, szacunek ...
znalazłem w tym libsie taką konstrukcję:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i tak sobie na to patrzę, patrzę przez chwilę - myślę "co to za dziwne podejście"
.... przecież zamiast tego (co w środku oczywiście) można to samo zrobić nawet prościej o 4 bajty we flashu bo tu troszkę za dużo operacji:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Ba można też użyć standardowej biblioteki atomic i użyć:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ale ... ale jest jedno małe ale , zawsze trzeba wyciągnąć na końcu pozytywny wniosek
.... Uważam, więc i tak, że fajnie że napisałeś to "przedziwne" makro
Już nawet pal pies, że tam 4 bajty się marnują we Flashu, co to tam znaczy.
... ale za to
1. pokazałeś fajny i nawet jak dla mnie wygodniejszy sposób na że tak powiem użycie tego mechanizmu do prostych instrukcji, które trzeba traktować atomowo bo piszemy tylko tak:
ISR_PAUSE( coś_tam_coś_tam );
zamiast nawet tych kilku linii z atomic.h, gdzie trzeba dodatkowo plik inkludować, gdzie trzeba pamiętać te argumenty dla atomic block
.... ja nigdy nie pamiętam i na piechotę robię to sposobem z tym sreg=SREG, który pokazałem wyżej. Zresztą atomic block robi to akurat identycznie.
2. pokazany jest tutaj
BARDZO CIEKAWY MECHANIZM, którego warto szczególnie pokazać !!! Ja akurat nigdzie go nie omawiałem a w skrócie wygląda on tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
gdzie te trzy kropeczki oznaczają możliwość przekazania prawie dowolnych argumentów, hmm nawet całego bloku kodu
np:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Być może w gąszczu tej biblioteki umknął by on oczom wielu zainteresowanych, dlatego chciałem zwrócić na to uwagę, bo jest wiele osób, które w dobrych libsach poszukują takich smakowitych "wisienek"
Reasumując, jeszcze raz - kawał roboty