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



Teraz jest 22 gru 2024, o 02:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 14 wrz 2014, o 21:05 
Offline
Nowy

Dołączył(a): 14 wrz 2014
Posty: 18
Pomógł: 0

Witam

Wiem, że temat był już poruszany, ale mam spory problem z inicjalizacją LCD 2x16 i poświęciłem już dużo czasu na analizę kodu, itp. Niestety nadal nie mogę zainicjalizować wyświetlacza.

Poniżej kod plików autorstwa pana Mirka. Pomijając zmianę pinów pliki są praktycznie nieruszone.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zaznaczam, że:
1) Piny podłączone są zgodnie z kodem z lcd44780.h.
2) Pin RW sterowany jest z mikrokontrolera.
3) Programator działa i programuje (sprawdzony na innych programach).
4) Częstotliwość we właściwościach projektu ustawiona jest na 8MHz i tak samo programuję w MkAVRCalculator. Wiem, że jest to poprawne, bo w innym programie zwykła dioda świeci co sekundę, tak jak zaprogramowano.
5) JTAG jest wyłączony.
6) Podświetlenie działa, a kontrast ustawiony jest poprawnie.
7) Kod kompiluje się poprawnie.

Mimo wszystko po zaprogramowaniu mikrokontrolera na wyświetlaczu, w górnej linii jest widocznych 16 prostokątów. Kombinowałem na różne sposoby, ale najwidoczniej źle, dlatego proszę doświadczonych kolegów o pomoc. Czy brakuje czegoś w main.c?

--
alkorinio

Nie publikujemy listingów bibliotek z książki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 wrz 2014, o 22:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Za dużo z postu nie wywnioskuję ani ja ani koledzy z forum więc:

1.Upewnij się czy masz dobrze zdefiniowany rozmiar wyświetlacza:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


3. No i piny i porty:
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 musi polecieć ;)

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 17:29 
Offline
Nowy

Dołączył(a): 14 wrz 2014
Posty: 18
Pomógł: 0

Przepraszam za biblioteki. Nie doczytałem.

1) Wyświetlacz ma 2 rzędy, 16 kolumn - zdefiniowane poprawnie.
2) USE_RW ustawione na 1.
3) Piny i porty zdefiniowane prawidłowo w stosunku do połączeń. Jeśli mogę, przytoczę fragment:

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


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

?

Sprawdziłem przewody i okazało się, że jeden był trafiony. Wymieniłem i przeprogramowałem uC, ale to nie rozwiązało problemu.

--
alkorinio



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 18:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

alkorinio napisał(a):
Sprawdziłem przewody i okazało się, że jeden był trafiony. Wymieniłem i przeprogramowałem uC, ale to nie rozwiązało problemu.


Spotkałem się z kilkoma LCD opartymi o "zgodny" z HD44780 chip , które bardzo źle lub wcale się nie zachowują ze sterowaniem pinu RW z Procka
co ciekawe jak dasz na stałe do GND to chodzą bezbłędnie ...

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2014, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

alkorinio napisał(a):
Czy w takim razie prawidłowy jest fragment w main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
DDRB |= (1<<PB0);
PORTB |= (1<<PB0);
GeSHi


Ustawianie w main.c
DDRB |= (1<<PB0);
PORTB |= (1<<PB0);
jest nie potrzebne te ustawienia są wykonywane w lcd44780.c

------------------------ [ Dodano po: 9 minutach ]

Jaki masz tam na pokładzie uC?
skompiluje ci hex-a i sprawdzisz czy problem leży w sprzęcie czy sofcie.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2014, o 06:22 
Offline
Nowy

Dołączył(a): 14 wrz 2014
Posty: 18
Pomógł: 0

Sprawdziłem RW podłączone na stałe do GND i nadal nie działa. LCD otrzymałem razem z zestawem startowym do książki Atnel, więc wątpię, żeby akurat w tym leżał problem - pan Mirek pewnie zaopatrywał się hurtowo w podobne komponenty.

Co ciekawe, udało mi się uruchomić wyświetlacz na bibliotekach pana Radka Kwiecienia, ale... No właśnie, ale nie zawsze działa on poprawnie. Niby się inicjalizuje, ale wyświetla coś dopiero po 3-4 włączeniu i czasami są to jakieś bzdury, losowe litery, które nb. nie przekraczają długości stringa wysłanego do LCD. A coś sensownego wyświetla gdzieś co 5-6 raz.
Myślałem najpierw, że może coś się nie tak inicjalizuje i zacząłem sprawdzać opóźnienia w funkcji inicjalizacyjnej, co nic nie dało. Sprawdzałem też wcześniej zegar na zwykłych diodach i świeciły prawidłowo co 1s. Wszystko oprócz wyświetlacza działa prawidłowo, nawet MSI. Podmiana wyświetlacza na inny daje takie same efekty. Także jestem w kropce. Chyba zacznę pisać na prędko własne biblioteki.

@ kurnachatka: Mogę podesłać bilbioteki, które mam + main.c.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2014, o 07:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

alkorinio napisał(a):
@ kurnachatka: Mogę podesłać bilbioteki, które mam + main.c.

to podeślij main.c i ustawienia w lcd44780.h
Ewentualnie mogę ci skompilować hex-a dla twoich ustawień na moich bibliotekach, tylko musisz mi podać typ procka i częstotliwość taktowania i sprawdzisz u ciebie.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2014, o 08:29 
Offline
Moderator
Avatar użytkownika

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

alkorinio napisał(a):
Sprawdziłem RW podłączone na stałe do GND i nadal nie działa. LCD otrzymałem razem z zestawem startowym do książki Atnel, więc wątpię, żeby akurat w tym leżał problem - pan Mirek pewnie zaopatrywał się hurtowo w podobne komponenty.


Na płycie DVD do książki masz przykłady (dużo przykładów) gdzie użyty jest LCD w zestawie ATB. Chociażby lekcja o LCD ... zastanawiam się skąd te kombinacje alpejskie ? .... To nie ma prawa nie działać - no chyba że coś jest uszkodzone .... albo jeśli sam coś od nowa tworzysz i robisz błędy .... Tylko co za problem sobie sprawdzić kod albo plik HEX z DVD ? żeby się upewnić ?

_________________
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: 6 paź 2014, o 18:53 
Offline
Nowy

Dołączył(a): 14 wrz 2014
Posty: 18
Pomógł: 0

Okazuje się, że problem leży w zupełnie innym miejscu. A tyle razy przeglądałem kod i zastanawiałem się, co robię źle.

Mianowicie problem leży po stronie programatora, albo może raczej sposobu programowania. Programator to stk500v2 firmy Microsense i w MkAVRCalculator wykrywany jest poprawnie jako AVRDoper. Jest on ok, tzn. działa i nie powoduje błędów. Problem w tym, że nie działa pod Win7 w trybie COM, a jedynie w trybie HID.

No a wracając do sprawy inicjalizacji, to dopiero gdy podłączyłem płytkę przez programator pod WinXP z programatorem zainstalowanym w trybie COM mogłem połączyć się z programatorem za pomocą AVR Studio 4. I tam programując uC mogłem wybrać oprócz pliku .hex i .eep równiez plik .elf. I dopiero wtedy wyświetlacz się poprawnie zainicjalizował i poprawnie pracuje.

Problem w tym, że Microsense nie ma sterowników certyfikowanych dla Win7 i nie zainstaluję programatora w trybie COM pod Win7. A w trybie HID programator działa tylko z AVRDude. Pytanie zatem, co mogę w tym temacie zrobić?

Widziałem ten oto wątek http://forum.atnel.pl/topic5623.html.

Domniemam, że rozwiązaniem może być Eclipse?

Aha, i używałem cały czas czystych bibliotek właśnie z płyty CD. Pomyśleć, że problem mogłem rozwiązać już miesiąc temu, podłączając się pod WinXP.



Ostatnio edytowano 6 paź 2014, o 19:18 przez alkorinio, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2014, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

alkorinio napisał(a):
No a wracając do sprawy inicjalizacji, to dopiero gdy podłączyłem płytkę przez programator pod WinXP z programatorem zainstalowanym w trybie COM mogłem połączyć się z programatorem za pomocą AVR Studio 4


Kolega nie zrozum nie źle ale jak można korzystać z AVR Studio 4, skoro masz już parę wersji nowsze IDE czyli Atmel Studio 6.2? To tak jak byś dalej korzystał z Windowsa 98 zamiast Windowsa 7 ;)

Jednym słowem mówiąc przepaść!!

Tu masz np. Twój problem (wersja DE):
http://www.roboternetz.de/community/thr ... Studio-6-2

Cytuje:
Also mit dem 6.1er geht's auf jeden Fall. Und das läuft auch unter 64bit.

Im Menü Tools -> Add target... wählen.
Im nächsten Fenster unter "Select Tool" STK500 und unter "Select Serial Port" die COM-Schnittstelle auswählen.
Apply drücken - fertig.
Nun kann man das STK500 im "Device Programming" Dialog auswählen.
Eine Anleitung findet man übrigens auch in der Hilfe des Studios, einfach mal nach STK500 suchen...

Der GNU-Compiler ist übrigens schon im Atmel-Studio integriert.


z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2014, o 19:20 
Offline
Moderator
Avatar użytkownika

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

alkorinio napisał(a):
omniemam, że rozwiązaniem może być Eclipse?


Panie kochany masz w zestawie ATB WBUDOWANY piękny programator a ty kombinujesz znowu pod górę :(

czytałeś to:

http://atnel.pl/ft232r-programator-w-atb.html

obawiam się, że nie ... ale też pewnie nie oglądałeś tego:

http://mirekk36.blogspot.com/2013/12/av ... wolno.html

już nie wspomnę o tym:

http://mirekk36.blogspot.com/2013/10/re ... torze.html

i o tym:

http://mirekk36.blogspot.com/2013/05/mk ... pdate.html

a warto żebyś to wszystko poczytał i obejrzał oj warto...


Autor postu otrzymał pochwałę

_________________
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: 6 paź 2014, o 19:29 
Offline
Nowy

Dołączył(a): 14 wrz 2014
Posty: 18
Pomógł: 0

@doman89:
No tak, ale tutaj opisują dokładnie, jak wybrać programator podłączony w trybie COM. A mój w trybie COM nie działa.
Ale i tak dzięki za pomoc.

@mirekk36
Przyznam, że nic z tego jeszcze nie czytałem, ani nie oglądałem. Zapewne typowy błąd początkujących. Ale chciałbym zaznajomić się z innym programatorem i rozwiązać przy okazji problem, bo nauczę się czegoś nowego, gdyby przyszło mi kiedyś pracować na nieswoim sprzęcie.

Zatem zabieram się za lekturę i dziękuję wszystkim, a szczególnie panu Mirkowi za pomoc.

Myślę, że temat można uznać za zamknięty.



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: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO