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



Teraz jest 29 mar 2024, o 11:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
 Tytuł: biblioteka LCD
PostNapisane: 12 maja 2021, o 22:16 
Offline
Nowy

Dołączył(a): 16 mar 2021
Posty: 2
Pomógł: 0

witam, mam problem ze zrozumieniem biblioteki LCD z bluebooka. strona 221, 222 , funkcja do przesyłania połowy i całego bajtu.
skąd się bierze np funkcja : data_dir_out() do ustawiania pinów portu LCD? i w jaki magiczny sposób odbywa się przesyłanie całego bajtu .
czy może ktoś mi to wyjaśnić , będę wdzięczny bo nie mogę się posunąć dalej



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2021, o 22:50 
Offline
Moderator
Avatar użytkownika

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

To musisz powiązać z notą PDF wyświetlacza i trybe 4 bitowym.

Jak chcesz przesłać cały BAJT skoro masz do dyspozycji tylko 4 linie danych ? No to proste - po to jest sobie tego typu funkcja, która najpierw prześle ci jedną połówkę bajtu a później drugą, dzięki czemu LCD odbierze łącznie cały bajt

_________________
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: 13 maja 2021, o 07:25 
Offline
Nowy

Dołączył(a): 16 mar 2021
Posty: 2
Pomógł: 0

jasne że podział na 2 połówki jest logiczny
oczywiście pomyslałem o nocie pdf , ale nie znalazłem w żadnej choćby podobnej funkcji(właściwie to ani jednej funkcji)
ty natomiast piszesz że jest to prosta funkcja o której już wcześniej wspominałeś, tyle że ja nie umiem jej odnaleźć w książce
po prostu chcę to zrozumieć



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2021, o 08:08 
Offline
Użytkownik

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

Pdf LCD w łapki i patrząc na funkcje 4bit na pewno zrozumiesz. Są tam używane przesunięcia bitowe i maskowanie, żeby w odpowiedniej kolejności wypchnąć nibble (połówki bajtu) do LCD



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2021, o 09:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 310
Pomógł: 18

mirkas2 napisał(a):
skąd się bierze np funkcja : data_dir_out() do ustawiania pinów portu LCD?

Można lakonicznie odpowiedzieć - TAK. Na stronie 224 jest odpowiedź dlaczego w bibliotece LCD występują dwie podobne funkcje dotyczące kierunku przepływu danych(data_dir_out(), data_dir_in() ). Ciała tych funkcji zawarte są w pliku.c tej biblioteki LCD.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2021, o 11:22 
Offline
Moderator
Avatar użytkownika

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

mirkas2 napisał(a):
ale nie znalazłem w żadnej choćby podobnej funkcji(właściwie to ani jednej funkcji)

no ale w żadnych notach tego typu nie podadzą ci żadnych funkcji, podadzą tylko parametry czasowe, rejestry i opiszą algorytm - a funkcje się pisze samemu.

mirkas2 napisał(a):
ty natomiast piszesz że jest to prosta funkcja o której już wcześniej wspominałeś, tyle że ja nie umiem jej odnaleźć w książce

No przecież masz

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


i sam komentarz wyjaśnia już co robi ta jakże prosta funkcja a jej ciało może znaleźć w kodach dołączonych do książki przecież.

_________________
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: 23 maja 2021, o 19:16 
Offline
Nowy

Dołączył(a): 12 kwi 2021
Posty: 1
Pomógł: 0

Witam, proszę o wyjaśnienie dotyczące biblioteki LCD
Z jakiego powodu na LCD nie mogę wyświetlić danych/napisu z pamięci EEPROM
- w pliku mk_lcd44780.h jest ustawione USE_EEPROM 1
- pliki mk_lcd44780.c i mk_lcd44780.h są oryginalnymi bibliotekami MK_LCD_LIB bez modyfikacji
- w pliku main.c następujące funkcje:

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include <util/delay.h>
#include "MK_LCD/mk_lcd44780.h"

const char PROGMEM tab1[] = {"FLASH"};
char EEMEM tab2[] = {"EEPROM"};

int main(void)
{
lcd_init(); //inicjalizacja LCD
lcd_LED(1); //podświetlenie włączone
lcd_cls(); //czyszczenie ekranu dla pewności
lcd_locate(0,0); //pozycjonowanie kursora - pierwsza linia
lcd_str_E(tab2); //wyświetlenie napisu z pamięci EEPROM -----> NIE wyświetla się na LCD napis "EEPROM" - dlaczego???
lcd_locate(1,0); //pozycjonowanie kursora - druga linia
lcd_str_P(tab1); //wyświetlenie napisu z pamięci FLASH -------> JEST WYŚWIETLONY napis "FLASH"
}

Z napisami zdefiniowanymi w pamięci RAM i FLASH nie ma problemu, jedynie napisy z EEPROM nie wyświetlają się.
W poradniku Mirka "#0584 MK LCD HD44780 - Biblioteka C - Part 02" zauważyłem że też nie wyświetlają się napisy zdefiniowane w EEPROM (czarny prostokącik powinien być literą "ó").
Jestem początkującym, przerabiam kolejno bluebooka (jestem właśnie na LCD) i do tej pory nie znalazłem wiele o pamięci EEPROM - będzie pewnie dalej.
Bibliotekę LCD z książki napisałem ze średnim skutkiem (90% jarzę) ale będę ją jeszcze mordował tak aby wszystko zrozumieć.
Pewnie jest jakieś proste wytłumaczenie, ale na tą chwilę nie wiem jakie!?
Płytka ATB 1.05a
Mam nadzieję że już ktoś o tym nie pisał - nie znalazłem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2021, o 19:36 
Offline
Moderator
Avatar użytkownika

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

RobinsonRobert napisał(a):
Mam nadzieję że już ktoś o tym nie pisał

Pisał pisał i to wielokrotnie ;)

Panie kochany, nusisz w Eclipse zaznaczyć sobie, żeby przy wgrywaniu wsadu do FLASH wgrywało też wsad do EEPROM, bo w tym przykładzie z książki jest to sztucznie przygotowany napis jako stała właśnie w eepromie.

masz tak:

Obrazek

a musiałbyś na potrzebę tego przykładu ustawić sobie we właściwościach projektu tak:

Obrazek

i pamiętaj proszę, na drugi raz zakładaj NOWY WĄTEK - a nie zadajesz swoje pytanie, kompletnie nie związane z tematem w przypadkowym wątku na forum ok?

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

Strefa czasowa: UTC + 1


Kto przegląda forum

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