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



Teraz jest 28 mar 2024, o 11:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 45 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 11 paź 2017, o 05:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

Kolego marchew świetnie wytłumaczenie nie rozumiem tylko jednej rzeczy i tego usiłuje się dowiedzieć.

Dlaczego dopiero w drugiej linijce następuje zamiana na "C" a nie w pierwszej czemu preprocesor nie zrobi tego w

pierwszej linijce, skoro potrafi zrobić to w drugiej ?

To mnie cały czas nurtuje ;)
Próbuje odnaleźć "wzór" na to .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 07:08 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

No po to są (muszą być) te dwa przebiegi bo w pierwszym podstawiłby TYLKO nazwę makra a nie to co jest w nim zaszyte

_________________
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 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 07:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

Mirku tak tylko dlaczego w lini 1 podstawia nazwy makr a w lini 2 już to co dalej czyli tego co zeszyte w definicji dalej?

Skąd mu się to bierze ,w 1 jest tępy a w kolejnej lini podstawia już zamiast nazwy makr to co dalej ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 08:45 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

No bo nie może w jednym przebiegu rozwinąć makra - tylko wkleja jego nazwę , potrzebny jest drugi przebieg i takie drugie makro robocze - wtedy dzięki temu, że argumentem jest przekazana nazwa makra to ostatecznie może ona zostać rozwinięta i podkładany jest już argument makra

_________________
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 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 10:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

Czyli w pierwszym przebiegu preprocesor przekaże nazwę z kodu poniżej pomiędzy nawiasami do tego makra z pierwszego przebiegu zamiast x,

w drugim przebiegu SPORT(nazwa ) pomiędzy nawiasami ma już inne dla niego znaczenie preprocesor zobaczy że to co kryje się pod nazwą a wcześniej było x można rozwinąć bo zobaczy: #define NAZWA D zdefiniowane wyżej.

Dobrze to rozumiem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 10:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

no o to DOKŁADNIE chodzi

_________________
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 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 14:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

Już chyba zaskoczyłem preprocesor lecąc od góry napotyka

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


później napotyka definicje makr

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


w dalszym ciągu nic się nie dzieje dopiero gdy napotka wywołanie

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



przekazuje to co jest pomiędzy nawiasami zamiast x wyżej do

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


teraz wygląda to tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Podmiana na LCD_RSPORT na A nastąpi na poziomie drugiego makra


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


1. dlaczego trzeba stworzyć kolejne makro by nastąpiła podmiana

2. dlaczego coś mu się przestawia i to właśnie teraz , wpada na pomysł by podstawić tam A a nie wczew pierwszej linijsniej ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 15:25 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

procek87 napisał(a):
1. dlaczego trzeba stworzyć kolejne makro by nastąpiła podmiana


no przyznam że troszkę mnie kolega zaskakuje bo już o tym pisałem wyżej

toż na poziomie pierwszego makra podłoży TYLKO kurczę NAZWĘ makra a nie to co jest argumentem makra

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


to spowoduje że w wyniku zapisu gdzieś w kodzie:

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


uzyskasz

KLEJ_DO_PIPA

bo z napisem KLEJ sklei nam PIPĘ

a my przecież chcemy skleić DUPĘ z KLEJem, żeby wyszło

KLEJ_DO_DUPY

dlatego trzeba zrobić to dwupoziomowo czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


no i w końcu pojawi się

KLEJ_DO_DUPY

sorki za słówka ;) użyte w przykładzie no ale - postanowiłem po raz tysiąc sześćset osiemdziesiąty czwarty podejść do tematu i zrobić to nieco inaczej

sorki ale jak teraz nie dotrze to ja się poddaję - już więcej nie będę w stanie wyjaśnić.

_________________
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 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 15:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

;) już kumam ciekawy przykład, Mirku



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 15:52 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

procek87 napisał(a):
;) już kumam ciekawy przykład, Mirku

Jak widać, trzeba cały czas doskonalić swój warsztat dydaktyczny :lol: ... chyba będę dołączał ten przykład do innych z bloga ;)

_________________
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 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 16:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

trochę Cie pociągnąłem za język przepraszam , ale cierpliwość to masz przyzwoitą ;) , wole wszystko wyjaśniać do końca więc trochę wychodzę na idi.. porostu chce dobrze wszystko zrozumieć.

Tak polecam ten przykład jest bardzo fajny pokazuj go innym :lol:

To jeszcze nie koniec pytań na pewno będą następne wątki :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2017, o 19:08 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Lepiej wyjść na idiotę pytając, niż odpowiadając ;)

Wysłane ze srajfona.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2017, o 07:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

mirekk36 napisał(a):
procek87 napisał(a):
;) już kumam ciekawy przykład, Mirku

Jak widać, trzeba cały czas doskonalić swój warsztat dydaktyczny :lol: ... chyba będę dołączał ten przykład do innych z bloga ;)

:lol: ale się uchichotałem. :lol:
Mirku, tłumaczenie makra zarympoliste. :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2017, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 maja 2017
Posty: 143
Pomógł: 0

xentis napisał(a):
naskrobane na szybko i sprawdzone na zestawie ATB 1.05a
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Garść instruktarzu:
W sekcji konfiguracja należy poustawiać sobie na jakich pinach uC mają być jakie sygnały:
(jako że posiadam ATB 1.05A obecna konfiguracja jest pod porty i piny które można zapiąć zworkami - zarówno dla wyświetlacza, jak i ledów, jedynie przyciski trzeba okablować do portu D0 - D4)
i tak pierwszy blok to piny podłączone do wyświetlacza, drugi blok to piny podłączone do ledów kontrolnych na których będzie pokazywany stan poszczególnych linii wyświetlacza (jako że ledy na zestawie ATB są podłączone anodami do Vcc więc ich zaświecenie następuje poprzez podanie "0" więc sygnały dla ledów są odwrócone w stosunku do sygnałów wyświetlacza tak by stan 1 pinu LCD sygnalizowany był zaświeceniem diody), natomiast trzeci ostatni blok to piny do których podłączamy pięć przycisków.
Przycisk N_D_UP służy do zwiększania zawartości buforka, który przechowuje stan panujący na pinach D4-D7 wyświetlacza, natomiast N_D_DOWN zmniejsza zawartość buforka. Przytrzymanie powyższych przycisków po około 0,6s powoduje automatyczne inkrementowanie/dekrementowanie zawartości bufora co 0,3s do czasu puszczenia przycisku.
Pozostałe przyciski mają blokadę, ich naciśnięcie zmienia stan danego pinu na przeciwny 1 raz, a następnie dopóki są trzymane cały program stoi.
Jako że program jest do celów dydaktycznych i dedykowany dla początkujących, eliminacja drgań styków przycisków zrobiona jest na delayach tak by nie gmatwać programu.
Natomiast makro:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
działa podobnie jak to z przykładu z BB odnośnie LCD tyle, że zostało zmienione tak by było uniwersalne i jednolite dla wszystkich rejestrów I/O (jedno i to samo dla PORT, PIN i DDR).
Teraz wystarczy rozpisać sobie wszystkie komendy LCD-ka tak by nie biegać po nocie i można się bawić w ręczne sterowanie ;)
Obrazek




Daro69 wrcając do tematu wyświetlacza coś jest nie tak .

wszystko jest podłączone tak jak opisałeś , załączam wyświetlacz ,czysty wystarczy by nacisnąć E (enable ) i kursor na ekranie miga w pozycji 0,0 , problem w tym że ja nie zmieniałem stanu na liniach d4-d7 nie rozumiem ,
mam zestaw ATB 1.05

nie mam wglądu w to co już jest ustawione w samym wyświetlaczu na liniach danych nie moge tego rozgryść , wychodza różne głupoty , sprawdzisz to u siebie?

czy trzeba ustawić wyświetlacz w tryb 4 bitowej magistrali czy jest to nie istotne?

sprawdzałem zachowanie wyświetlacza pod tym adresem :
http://www.dinceraydin.com/djlcdsim/djlcdsim.html

i wszystko działa prawidłowo i jest fajnie czytelnie szkoda że nie ma takiego interface-u dodałoby to czytelności , sprawdzałem stany na magistrali danych miernikiem ale szczerze to mi się poplątało ratunku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2017, o 19:11 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Trzeba ustawić 4bit



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: 45 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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