Skocz do zawartości

Dziwna reakcja na "Cls".


Mateusz7764

Pomocna odpowiedź

Mam takie małe pytanie co do ekranu lcd 2x16.

$regfile = "m16def.dat"
$crystal = 1000000
Dim Count As Integer
Count = 1
Display On
Do
Cls
Lcd "Witaj! " ; Count
Count = Count + 1
Wait 1
Loop
End

To kod skopiowany z jakiegoś tam poradnika,
wgrałem na moją płytkę (EvB 4.1 od And Tech) i na wyświetlaczu pojawia się,
clipboard02jp.png

a usunięcie komendy Cls powoduje, że no ekran się nie czyści i się wszystko nadpisuje.

clipboard03c.png

Znalazłem ten temat:

http://www.elektroda.pl/rtvforum/topic1923618.html

Zrobiłem tak jak w nim napisali połączyłem 1 i 5 pin wyświetlacza ze sobą ale to nic nie dało.

Co może być nie tak?

Edit: Jak zły dział to proszę o przeniesienie.

Link do komentarza
Share on other sites

Mateusz7764, to znowu ty! Za chwilę zacznę wyrzucać twoje tematy do kosza. To forum nie jest od tłumaczenia podstaw działania każdej rzeczy, z którą ty akurat masz problem.

A w tym przypadku nie ma nic niezwykłego, komenda CLS jest właśnie od czyszczenia wyświetlacza, więc jak ją usunąłeś to przestało czyścić wyświetlacz a skoro masz nieskończoną pętlę to wszystko się zapętlało i wypisywało po kolei kolejne napisy na lcdku. Z tego co pamiętam to kontrolery od tych wyświetlaczy ze sterownikiem HD44780 działają tak, że jak masz dwie linie po 16 znaków każda to w rzeczywistości sterownik działa jak jedna linia z 40 znakami dlatego wypełnił ileś znaków po 1Witaj1 i dopiero w 2 linii pojawił się napis 6Witaj!

Musisz zacząć myśleć logicznie, co chcesz osiągnąć i jakim kodem. Bo jak narazie to widzę ogromny chaos w twoim działaniu.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Oczywiście ze Wgrywałem, na tym symulatorze chcialem to tylko zaobrazować. Mi sie zdaje ze tu wina bedzie leżeć po stronie płytki ;/

Niewiem czy to jakoś jest istotne ale przez bascomowy symulator ten kod dziala, a fizycznie na płytce właśnie nie.

Link do komentarza
Share on other sites

Mateusz7764, jeśli podłączyłeś wyświetlacz niezgodnie ze sztuką to co się dziwisz, pozatym opisałeś problem:

a usunięcie komendy Cls powoduje, że no ekran się nie czyści i się wszystko nadpisuje.

Rozwiązaniem twojego problemu jest dodanie komendy CLS, aby wyświetlacz się czyścił.

Ponieważ twoje tematy to zaśmiecanie tego forum to wygaszam cały temat. Usunie się on automatycznie po 24h.

Link do komentarza
Share on other sites

Jeśli ta komenda jest to sie ekran blokuje. I jest tylko kreska u dołu pierwszej lini, a jeżeli komendy niema to wiadomo co sie dzieje. Płytka jest oryginalna i nie da sie źle podłączyć, a co do pinów d4-d7, e,rs są podpięte dobrze bo inaczej nic by nie dzialał te ekaran poza tym sprawdzalem pare razy.

Troche nie rozumiem dlaczego uważasz to za tematy bzdurne, jeśli założyłem ten temat to chcialem sie poradzić, pytanie moje nie jest głupie bo w czymś tkwi problem, ja jako poczatkujacy nie jestem w stanie go zdiagnozować i poprawić. Dlatego załozyłem temat. A ty zbywając mnie zachowujesz sie dziecinnie.

Niechce cie urazić ani nic, poprostu takie mam odczucie.

Link do komentarza
Share on other sites

Ooo. A dzisiaj akurat popcorn jadłem : D

Może wywalmy tego counta, czyli:

$regfile = "m16def.dat" 
$crystal = 1000000 
Display On
Do
Cls
Wait 1
Lcd "Witaj! "
Wait 1
Loop 
End

Czyli 1 sekundę blank, 1 sekundę napis.

Link do komentarza
Share on other sites

Powinieneś samemu drążyć temat i szukać przyczyny. Kombinuj aż znajdziesz. Idąc twoim tropem powinienem zakładać dziennie 10 tematów, bo coś mi nie działa. Oczywiście we wszystkim tym jestem początkujący, bo nigdy nie spotkałem się z takim problemem.

Link do komentarza
Share on other sites

Tyle ze właśnie nawet prosty program. Np:

Cls
Lcd "tekst"
End

Sie blokuje.

I jeżeli dodam

Locate,1,1

i usune cls.

To owszem efekt uzyskuje, ale po resecie przyciskiem na płytce

Napis sie dubluje.

Siediałem nad tym pare godzin zanim założyłem temat.

Link do komentarza
Share on other sites

Mateusz7764, piszesz kody, które nie wiesz jak działają, kody te są niepoprawne albo masz niepoprawne połączenia na płytce. Nie zbywam cię, tylko nie mam ochoty tracić czasu na szukanie igły w stogu siana jeśli ty nawet nie wiesz czy tą igłę zgubiłeś.

Twój kod w obecnej postaci nie jest poprawny, brakuje definicji pinów do LCD:

Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.0 , Rs = Portb.1       'konfiguracja podłączenia LCD

Config Lcd = 16 * 2

Initlcd

Jeśli dodasz u siebie taką linijkę oczywiście z własną definicją połączeń to ten kod będzie działał poprawnie.

Zrobiłem tak jak w nim napisali połączyłem 1 i 5 pin wyświetlacza ze sobą ale to nic nie dało.

A tak z innej beczki, mógłbyś zrobić zdjęcie swojej płytki z połączeniem tych pinów? Bo na twojej płytce wyprowadzony 1 pin to jest włączenie podświetlania a 5 to jest D5.

Link do komentarza
Share on other sites

Mateusz7764, tracę do ciebie cierpliwość. Ja swoje, ty swoje. Zachowujesz się trochę jakbyś w ogóle nie chciał pomocy. Poprosiłem o dopisanie tego do programu, prawdę mówiąc to nie wiem jak działają te ustawienia z zakładki, lepiej jest zawsze wpisać te komendy normalnie w kod bo zmniejsza to ryzyko pomyłki.

Po drugie, 5 strona instrukcji, którą mi linkowałeś w poprzednim temacie. Jest tam schemat twojej płytki i LCD. I co tam widać? A no to, że R/W jest już połączone z GND, więc po co mi linkujesz jakiś inny schemat z innego portalu? Twierdzisz, że podłączałeś 1 pin z 5 wyświetlacza, nic takiego na płytce nie widać a masz to już podłączone przecież.

Po trzecie, port C w medze16 jest częściowo wykorzystywany przez interfejs JTAG. Oczywiście wyłączyłeś go fusebitach? Jeśli nie to nie spodziewaj się, że piny PC2, PC3, PC4, PC5 będą działały poprawnie.

  • Lubię! 1
Link do komentarza
Share on other sites

Spróbowałem ten kod który ty mi wysłałeś, skonfigurowałem, i było to samo.

A co do tych portów C to nic nie zmieniałem, jeszcze nie umiem 😉.

Ale... tak z głupa, zmieniłem taktowanie.

$crystal = 1000000 na $crystal = 16000000

Wszystko zaskoczyło. 🙂

I jeszcze chciałem się spytać, co taktowanie ma do tego właśnie przypadku? 🙂

[ Dodano: 13-12-2012, 13:10 ]

Jest tam schemat twojej płytki i LCD. I co tam widać? A no to, że R/W jest już połączone z GND

No ale np, podświetlenie nie działa w pierwszych partiach EvB 4.1, bo autorzy pomylili się i zamienili ścieżki pinu 15 z 16 i odwrotnie i trzeba dokonać takiej przeróbki na własną rękę.

Wierzyć temu co pisze też do końca sie nie da.😉

Ale i tak wielkie dzięki za zainteresowanie. ( i tracenie cierpliwości ) 😉

Link do komentarza
Share on other sites

A co do tych portów C to nic nie zmieniałem, jeszcze nie umiem 😉 .

No to musisz szybko się nauczyć, bo bez tej wiedzy tracisz zwykłą funkcjonalność wymienionych pinów z portu C.

Jaki rezonator masz na płytce?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.