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



Teraz jest 13 lut 2026, o 18:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 16 maja 2013, o 14:11 
Offline
Moderator
Avatar użytkownika

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

polak27 napisał(a):
Do funkcji przekazujemy adresy ASCII od 0x80 do 0x87. No i właśnie to są adresy w jakiej pamięci?


troszkę ci się pomyliło ale doprecyzowuję, to nie są żadne adresy - my do funkcji przekazujemy kod znaku - kod znaku ASCII. Gdyby nie to przemapowanie, które sobie tu wymyśliłem to trzeba byłoby przekazywać po prostu kody znaków od 0 do 7 - zgadzasz się ? Ale wtedy gdybyś chciał wyświetlić C-String ze znakiem ASCII o kodzie ZERO to co ? :( .... to QUNIEC stringa :( i trzeba byłoby takie znaki jakoś ręcznie ciapać gdzieś w kodzie .... a tak ? ;) .... a tak zobacz co się dzieje

Kod:
nr & 0x07


to załatwia nam sprawę, że jak wpada kod znaku np 0x80 ... to po tej operacji ile będzie ? ;) ano ZERO prawda ? tym MASKOWANIEM bo tak to się nazywa pozbywamy się tego przemapowania znaków.....

Za to później w kodzie można zrobić tak:

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


zakładając że pod kodem 0x80 zdefiniowałeś sobie literkę ł ;) dostaniesz napis "kołdra" zgadza się ? ;) a gdybyś zrobił tak:

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


to pokazałby ci się jaki napis ???? ano taki: "k" .... i koniec :( bo zero to znak końca stringa - teraz rozumiesz po co to przemapowanie całe ? ;)

------------------------ [ Dodano po: 1 minucie ]

polak27 napisał(a):
Miałem też problem z tym, po co jest ta komenda *8 po nawiasie, ale chyba to rozgryzłem już. To jest polecenie, aby dla liczb z kolejnych adresów (/0x80, /0x81.../0x87) "wkładać" nowe wartości czyli nasze znaki do adresów: 0, 8, 16, 24, 32, 40, 48, 56. Gdyby tego nie było zapisywałoby od adresów (0,1,2,3,4,5,6,7) czyli wychodziłaby kaszanka. Czy dobrze myślę?


Bardzo dobrze to rozgryzłeś ;)

------------------------ [ Dodano po: 4 minutach ]

polak27 napisał(a):
I jeszcze ostatnia kwestia. Skąd wyświetlacz LCD wie jak przyjmować te wartości dla nowych znaków. Tzn. mamy wywołanie komendą lcd_write_cmd(...tu np. 0101 0000 co mówi, że zapisujemy w CGRAM od 16 bajtu czyli na 3 wolne pole) i teraz LCD jakiś czas czeka na te znaki, a my mu je podajemy dalej forem? Skąd on wie kiedy już koniec wpisywania tych znaków będzie?


Masz taką tabelkę komend do LCD w książce i wszędzie w necie - za pomocą odpowiednich bitów ale też linii RS mówisz wyświetlaczowi czy wysyłasz do niego KOMENDĘ czy DANE. Pomyśl jak włączysz wyświetlacz - zainicjalizujesz go - to możesz mu słać co sekundę jakiś kod ASCII np 65 czyli literkę "A" i będzie ona zapisywana po kolei do kolejnych komórek DDRAM ten kod a LCD będzie wyświetlał "A" ze swojego generatora znaków. Po co wyświetlacz ma wiedzieć kiedy koniec ? ;) czochra go to ..... on czeka na dane i pcha je do DDRAM. A jak chcesz coś innego to wysyłasz mu polecenie i każesz zrobić coś innego

co będzie na końcu to go nie interesuje.

A zatem jak w pętli wypchasz do LCD napisz "forum" to po kolei te znaki pojawią się na nim

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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