ATNEL tech-forum
https://forum.atnel.pl/

Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktury ;)
https://forum.atnel.pl/topic23543.html
Strona 1 z 1

Autor:  mirekk36 [ 16 sty 2021, o 13:41 ]
Tytuł:  Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktury ;)


Autor:  Krystian321 [ 17 lis 2023, o 13:17 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Witam
Jestem w trakcie przerabiania BB. Własnie "studiuje" cwiczenie "4.6 Wyświetlacz LCD (hd44780). Przeczytałem cały rozdział wgrałem program (który otrzymałem wraz z książką o nazwie 04_LCD). Program się skompilował i po wgraniu do procesora (używam atmega 8a) na wyswietlaczu nie ma nic. Zauważyłem w programmie, w pliku main.c adnotacje "UWAGA .... w tym projekcie trzeba wlaczyc w Eclipse ladowanie pliku *.eep do pamieci EEPROM przy wgrywaniu wsadu HEX" . Nie wiem jak to zrobić. Dodatkowo w książce na str. 235 jest mowa o adresowaniu komórek pamięci DDRAM, że czasem trzeba wpisywać je metodą prób i błędów (nie dokońca rozumiem jaka wartość ma być tych addresów, w jakim zakresie mają się zmieniać). Nie posiadam noty do mojego wyświetlacza. Poza tym w programie zauważyłem kilka linijek kodu który nie jest opisany w książce (plik main.c volatile uint8_t pwm1, pwm2, pwm3; plik lcd44780.h // Komendy sterujace
#define LCDC_CLS 0x01
#define LCDC_HOME 0x02
#define LCDC_ENTRY 0x04
... itd )

Autor:  mirekk36 [ 17 lis 2023, o 13:35 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Po pierwsze jeśli przeczytałeś rzeczywiście cały rozdział to z tego co piszesz tak nie do końca to wynika bo nic nie napisałeś o tym jak skonfigurowałeś piny w pliku *.h a od tego trzeba zacząć - zamiast wgrać na ślepo program dostarczony do książki bo wciąż powtarzam w książce że ja wszystko testuję na ATmega32 więc na 100% są tam zdefiniowane inne piny niż ty podłączyłeś to do swojej ATmega8

a z tym eep to jest najmniej ważne i nie zależy od tego czy zadziała biblioteka czy nie

więc pierwsze co zrób to skonfiguruj piny - i pokaż jak je skonfigurowałeś jeśli nadal nic nie będzie ci działać. Bo biblioteka jest taka - że jak się ją skonfiguruje (te piny) to działa BEZ MRUGNIĘCIA OKIEM na każdym AVR nie ważne jakie masz taktowanie procka.

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

Krystian321 napisał(a):
Dodatkowo w książce na str. 235 jest mowa o adresowaniu komórek pamięci DDRAM, że czasem trzeba wpisywać je metodą prób i błędów (nie dokońca rozumiem jaka wartość ma być tych addresów, w jakim zakresie mają się zmieniać). Nie posiadam noty do mojego wyświetlacza.

Zostaw to, nic nie konfiguruj ani nie wymyślaj o ile oczywiście masz standardowy wyświetlacz oparty na HD44780 i jest to wyświetlacz 2x16 czyli dwa wiersze po 16 kolumn

------------------------ [ Dodano po: 2 minutach ]

Krystian321 napisał(a):
Poza tym w programie zauważyłem kilka linijek kodu który nie jest opisany w książce (plik main.c volatile uint8_t pwm1, pwm2, pwm3; plik lcd44780.h // Komendy sterujace

to też zostaw bo to jest do czegoś innego zupełnie i szukasz nie tam gdzie trzeba problemu

jeszcze raz mówię - PROSTA RZECZ - konfiguracja pinów

Autor:  Krystian321 [ 18 lis 2023, o 14:48 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Od tego zacząłem (konfiguracji pinów). Oto moja konfiguracja:
// tu konfigurujemy port i piny do jakich podlaczymy linie D7..D4 LCD
#define LCD_D7PORT D
#define LCD_D7 6
#define LCD_D6PORT D
#define LCD_D6 5
#define LCD_D5PORT D
#define LCD_D5 4
#define LCD_D4PORT D
#define LCD_D4 3
// tu definiujemy piny procesora do których podlaczamy sygnaly RS,RW, E
#define LCD_RSPORT D
#define LCD_RS 0

#define LCD_RWPORT D
#define LCD_RW 1

#define LCD_EPORT D
#define LCD_E 2
Cały układ zbudowałem na "stykówce", sprawdziłem połączenia miernikiem (ok).
Mam standardowy wyswietlacz HD44780 2x16, zastanawiam sie nad samym wyswietlaczem. Moze tu jest problem, jutro powinień dojść nowy wyświetlacz podłącze drugi i zobaczymy.
PS. Poprzednie ćwiczenia też wykonywałem z użyciem Atmega8, co wymagało konfiguracji pinów oraz z zewnętrznym kwarcem. Z drobmymi problemami (co jest pewnie normalne na początku nauki) wszystko działało jak należy. Wiem, że problem leży gdzieś po mojej stronie, prosze o tylko jakies podpowiedzi.
Pozdrawiam

Autor:  Marhef [ 18 lis 2023, o 14:53 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

A ja mam takie pytanie: jak podłączyłeś wyświetlacz? Jak nie ma nic, to może kontrast źle ustawiony? A zasilanie jest? I podświetlenie podłączone?

Autor:  Krystian321 [ 18 lis 2023, o 14:59 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Podłączyłem według shematu wydaje się ok. Przy wgrywaniu wsadu delikatnie mrógnie i to wszystko. Dodatkowo podłączyłem podswietlenie piny 15 (+) 16 (-). Zamówięm takze atmege 32 wiec jak tylko ją otrzymam spróbuję wgrać i zobaczymy

Autor:  Marhef [ 18 lis 2023, o 16:09 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Odłącz od zasilacza sygnały z procesora. Podłącz zasilanie. Co widzisz?

Autor:  Krystian321 [ 18 lis 2023, o 17:16 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Odłączyłem piny RS/RW/E/ D4/D5/D6/D7. Podłaczone Vss(-) Vdd(+) V0 (kontrast) oraz piny od podswietlenie 15(+)/ 16(-). Tylko podswietlenie działa. Jak odłacze piny 15/16 to nic nie działa.

Autor:  Krystian321 [ 18 lis 2023, o 18:28 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Mam jeszcze płytkę arduino uno (clone). Zainstalowałem srodowisko arduino, ściągnąłem biblioteki, napisałem krótki program i to samo. Tylko podświetlenie działa. Poza tym pin od kontrastu (nr 3 / V0) według schematu podłączony do potencjometru, gdy nim manipuluje tylko górny rząd zmiena się a dolny nie reaguje.
Obrazek

Autor:  mirekk36 [ 18 lis 2023, o 18:40 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Krystian321 napisał(a):
Poza tym pin od kontrastu (nr 3 / V0) według schematu podłączony do potencjometru, gdy nim manipuluje tylko górny rząd zmiena się a dolny nie reaguje.

to jest prawidłowy objaw - konfiguracja pinów wydaje się być ok ale wolałbym żebyś wkleił większy fragmet pliku *.h z tą konfiguracją - z innymi wcześniejszymi ustawieniami i formatowaniem kodu bo będzie łatwiej dojść gdzie masz problem

jesteś już blisko ;)

tylko jak wiele osób pewnie nie zdajesz sobie sprawy jakie problemy sprawiają stykówki i same przewody połączeniowe które potrafią w środku w tych złączach plastikowych "nie stykać" toż już od kilku lat te przewody w środku są tak głupawo zaciskane że niektóre w ogóle nie dają połączenia elektrycznego. dlatego PRZEDZWOŃ brzęczykiem w mulitimetrze każde połączenie od nogi procka do pinu LCD

tak inny LCD też warto sprawdzić

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

ja bym na twoim miejscu w ogóle wypierniczył te wszystkie przewody połączeniowe bo to istna masakra i wpiął wyświetlacz wprost w stykówkę - przecież da się tak zrobić i porządnymi przewodami do stykówki zrobił połączenia z pinami wyświetlacza - a nie że wisi to na kablach

nie wspomnę już że nie pokazałeś zdjęcia samej stykówki a może się okazać że masz ją źle podłączoną - więc wrzuć też wyraźne fotki

jak przebrniesz te pierwsze Porblemy to później już zawsze będziesz to odpalał bez problemu

Autor:  Krystian321 [ 18 lis 2023, o 21:41 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Rozłączyłem wszystko podłączyłem na płytce jeszcze raz, tym razem wyświetlacz wpiąłem bezpośrednio do płytki stykowej, sprawdziłem połączenia miernikiem (ok). Tym razem użyem Atmegi328 oraz zmieniłem konfigurację pinów. Teraz są tak: PC0-E, PC1-RW, PC2-RS, D7-PD3, D6-PD2, D5-PD1, D4-PD0. Dalej ten sam efekt, nic się nie zmieniło.
ObrazekObrazek

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

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




------------------------ [ Dodano po: 10 minutach ]

Obrazek

Autor:  Marhef [ 18 lis 2023, o 22:13 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Po pierwsze, nie wstawiaj całych bibliotek Mirka, zwłaszcza, że prosił tylko o konfigurację.
Po drugie, doprowadź do sytuacji, gdzie na samym zasilaniu widzisz kwadraty w górnym rzędzie (pokręć potencjometrem).
Jak już zobaczysz kwadraty, odłącz zasilanie, podłącz procka i uruchom. O ile się nie mylę, coś się pojawi.

I jeszcze jedno. Kody programów wstawiamy inaczej, jest gdzieś instrukcja na forum, poszukaj

Autor:  Krystian321 [ 18 lis 2023, o 22:25 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Nie wiedziałam co może być istotne więc wstawiłem cały kod. Następnym razem tego nie zrobię. Co chdzi o "kwadraty na wyświetlaczu" to jakbym nie ustawił potencjometru są tylko w jednym rzędzie.

Autor:  mirekk36 [ 18 lis 2023, o 22:36 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

tak jak pisał kolega wyżej - nigdy więcej nie wklejaj tu kodów bibliotek - po co ? jaki cel? toż każdy kto ma książkę to ma te kody a one są poprawne. Jak już to możesz wklejać swój main.c. I pokaż go tutaj - gdzie będzie tylko prosta inicjalizacja LCD i wyświetlenie byle napisu

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

a tu masz INSTRUKCJĘ jak się wstawia kody programów na forum

topic7402.html

i stosuj się do niej proszę

Autor:  Marhef [ 18 lis 2023, o 22:46 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Krystian321 napisał(a):
Co chdzi o "kwadraty na wyświetlaczu"
Jeśli je widzisz, to znaczy, że masz dobrze ustawiony kontrast, ale nie ma inicjalizacji wyświetlacza.

Spróbuj wprowadzić konfigurację w pliku lcd44780.h (le to już chyba masz), a w pliku main.c daj tylko załączenie podświetlenia i 3 linijki przed pętlą while(1):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i zobacz, co się stanie

Autor:  Krystian321 [ 19 lis 2023, o 23:26 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Wkońcu działa na wsadzie dołączonym do ksiązki (po zmianie konfiguracji pinow pod atmega8). Za pierwszym razem przyczyną prawdopodobnie były kable (brak połączenia, bomba kablowa ;) , pózniej po zmontowaniu na stykówce pomyliłem piny (zamieniłem RS z E). Wczoraj byłem już zbyt zmęczony. Dziś przyszedł nowy lcd podłączyłem i to samo. Miernik w rękę no i wyszło (zamienione połączenie). Dziękuje za pomoc, napewno będę się jeszcze odzywał. Mirku (jeżeli mogę tak się do Ciebie zwracać) mam pytanie: Gdzie zamieszczać posty odnośnie moich przyszłych problemów z BB (które nie wątpliwie nadejdą :D)? Jaka jest generalna zasada?
ObrazekObrazek

Autor:  Marhef [ 20 lis 2023, o 17:46 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Krystian321 napisał(a):
Jaka jest generalna zasada?
Odpowiem za Mirka. Jeden problem - jeden temat.
Wybierasz odpowiedni dział, zakładasz temat. Raczej nie podpinaj się pod istniejące tematy. Chyba, że masz taki sam problem i nie zadziałało to, co jest opisane

Autor:  mirekk36 [ 20 lis 2023, o 19:12 ]
Tytuł:  Re: Ćwczenia z BB - LECIMYYY Daaaleeej! wskaźniki a struktur

Krystian321 napisał(a):
Jaka jest generalna zasada?

DOKŁADNIE tak jak pisze kolega wyżej - każde PYTANIE to NOWY WĄTEK w wybranym dziale forum a nie broń Boże dołączać się do starych wątków jak tutaj

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/