Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 20 sty 2026, o 23:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 24 sie 2013, o 18:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lip 2013
Posty: 106
Pomógł: 0

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:
Składnia: [ Pobierz ] [ Ukryj ]
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
Składnia: [ Pobierz ] [ Ukryj ]
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
Składnia: [ Pobierz ] [ Ukryj ]
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:
Składnia: [ Pobierz ] [ Ukryj ]
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ą...
Składnia: [ Pobierz ] [ Ukryj ]
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:
Składnia: [ Pobierz ] [ Ukryj ]
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 ?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 10:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 sie 2013
Posty: 199
Pomógł: 1

fajnie makra są opisane w książce symfonia c++ j.grembosza



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 18:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lip 2013
Posty: 106
Pomógł: 0

Problem sam się rozwiązał! Mimo mojej ogromnej głupoty rozwiązanie samo do mnie przyszło :)
A właściwie nie przyszło tylko było w kodzie który wcześniej sam napisałem :P
Pisząc coś takiego :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

dostanę gotową formułkę do przepisania ale trochę czasu mi zajęło by wpaść na pomysł że dokładnie to samo można podpisać pod moim problemem :oops:
A rozwiązaniem okazało się to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Po uprzednich definicjach Portu i Nr portu czyli:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Niemniej problem sam się pięknie rozwiązał, ja uświadomiłem sobie jak mało wiem, ale i dopiąłem swego pozostawiając tylko dwie definicje :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO