Cześć. Skrobię sobie SuperDebounce'a, i po napisaniu tej funkcji coś mnie wzięło żeby ją uprościć. Więc bluebook na kolana i piszę... Po kilku mniej i bardziej udanych poprawkach doszedłem do momentu poprawienia definicji przycisków więc wziąłem się za poważną i szczerą rozkminę makr od Mirka. I tu się rozpoczyna moja bolączka... Makra same w sobie rozumiem i staram się jak najczęściej stosować, ale gorzej jest kiedy chcę napisać własne "makra sklejające"

Zaznaczam że tym razem sporo szukałem na ten temat a "podręcznik małego programisty" miałem przed nosem, tak samo jak workspace z płyty.
Wracając, marzy mi się piękna biblioteka z makrami dzięki której definicja każdego przycisku będzie sprowadzała się do zmiany dwóch linijek tak jak jest to w libsie do lcd:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Powyższy zapis umożliwiają takie piękne makrodefinicje
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A ja chcę dodać do tego jeszcze operację przesunięcia bitowego, tzn. chcę dodać do tych makr jedną malutką "funkcję" umożliwiającą mi połączenie literki "P" z definicją portu i nr portu. Wiem wiem, chaotycznie to wygląda ale postaram się to jakoś wyjaśnić. Makro ma za zadanie połączyć literę "P" z np LCD_D7PORT (czyli B) i LCD_D7 (czyli 7) tworząc piękną nazwę PD7 czyli właściwie pełną nazwę potrzebną do maski (1<<PD7)
Po co to ? Może trochę bezsensowne powody ale wg. mnie przydatne.
1.Bo się uparłem ! A z natury nie jestem uparty

2.Do poinformowania uC tego że podpiąłem przycisk muszę wpisać tylko D i 7 więc teoretycznie nie ma po co pisać jeszcze
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
skoro mogę sobie to skleić z tego:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Uff. No to skoro się wysłowiłem to teraz pokażę co w tej sprawie naskrobałem, niestety nie działają...
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wcześniej napisałem makro które scaliło "P" z nazwą portu czyli np "PD" więc to już połowa sukcesu, ale i tak trochę daleko do PD7.
Całość miała działać w ten sposób:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
No. To by było na tyle. A więc czy macie jakieś propozycje jak takie coś rozwiązać w równie sprytny pomysł jak makra od Mirka ?