logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom AVR - Xmega wyświetlacz ST7565.

warlocki 12 Mar 2020 02:53 1275 11
REKLAMA
  • #1 18525484
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Witam,
    Proszę o wyrozumiałość - to moje pierwsze kroki z uC ;)
    Próbuję wyświetlić cokolwiek na wyświetlaczu ST7565R, ale jedyne co mi się wyświetla, to czarny prostokąt :(
    Sprzętowo jest ok, ponieważ używam płytki ATXMEGAA3BU-XPLD - z poziomu Atmel Studio ładuję sample i LCD ładnie śmiga.
    Hex z Bascom wgrywam Flip'em i jedyne co się pokazuje, to czarny prostokąt.
    Zakładam błąd w poniższym kodzie, będę wdzięczny za wskazówki, pozdrawiam.

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 18525489
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Sprawdź z VPORT i jak zadziaiła to doczytaj w Helpie :D
    Porty w Xmegach mają wysokie adresy i nie mogą być osiągnięte przez instrukcje które kiedyś napisano na takie procki gdzie reszta rejestrów zaczynała się zaraz po tych R0-R31. VPORT mapuje sprzetowo takie odległe adresy i stare biblioteki działają.

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    BTW. Lepiej chyba wszystkie piny mieć na jednym porcie, ale design tutaj to nie moja sprawa :P
  • #3 18526269
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Mógłby by mi ktoś podesłać bibliotekę glcdEADOGM128x6.lib która się kompiluje bez błędów ?
  • REKLAMA
  • #4 18526328
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Kolego, warto czytać te Helpy. Samo się nie nauczy ;)
    Tutaj wystarczyłoby trochę sprytu.
    Bascom ma wbudowany system podpowiedzi konfiguracji. Po prostu jak nie wiesz co wpisać to dajesz "równa się" i spację po czym wciskasz CTRL+SPACE i dowiedziałbyś się że ma być X (iks) zamiast * (gwiazdki) i już się kompiluje i nie tracisz czas na forach :P
    Bascom AVR - Xmega wyświetlacz ST7565.
    A tak w ogóle to włącz sobie CodeExplorer który na bieżąco sprawdza błędy jeszcze przed kompilacją (Menu View->CodeExplorer).

    Życzę miłego dnia.
  • REKLAMA
  • #5 18526849
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Dziękuję za podpowiedzi, ale nie tu leży sedno problemu. Program od początku kompiluje się bez błędów, jednak po wgraniu do procka wyświetla się tylko czarny prostokąt :/
    Jak otworzę LIB Manager, wybiorę glcdEADOGM128x6.lib >> Compile, to mam komunikat "Errors found"; inne biblioteki kompilują się bez błędów.
    Mógłbyś podesłać mi swoją bibliotekę glcdEADOGM128x6.lib a najlepiej plik hex po kompilacji mojego programu ? Byłbym wdzięczny...
  • Pomocny post
    #6 18526862
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    No łap bo to akurat sekunda roboty. Sprawdziłem też bibliotekę. Moja kompiluje się w 2082 bez problemu.
    Załączniki:
    • elka_Xmega_Vport.rar (2.76 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 18526906
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Dziękuję, nadal nie działa :( Już nie mam pomysłów...
    Sprzętowo jest ok - sprawdzałem nawet miernikiem, czy to te piny, zresztą - sample ładowane z Atmel Studio działają.

    Dodano po 27 [minuty]:

    Bascom AVR - Xmega wyświetlacz ST7565.

    co bym nie robił, efekt zawsze jak na zdjęciu
  • Pomocny post
    #8 18527403
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    W temacie napisałeś ST7565 a dopiero w poście, po "drugim czytaniu" doczytałem "R"

    Prawdopodobnie masz przesadzony kontrast.
    Zobacz co jeszcze ciekawego się nauczysz tym jednym tematem oprócz VPORT`ów, HINT`ów w IDE i CodeExplorera :P

    Użyj Google i dopisz "Bascom" czyli "ST7565R Bascom" i w mgnieniu oka masz odpowiedź :P
    http://www.wojio.pl/eog/eog.htm

    Na Forum MCS jest podobna odpowiedź, że należy przestawić kontrast.

    Ogólnie to każdy taki wyświetlacz się inicjuje sekwencją bajtów które ustawiają napięcia itp.

    Pliki bibliotek Bascom to zwykłe pliki tekstowe. Można je edytować w Notepad++.
    Zamiast tego wysyłania rejestrów komendą Glcdcmd, jak pokazano na linkowanej stronie, można otworzyć źródła AtmelStudio i porównać sekwencję bajtów. Podmienić w bibliotece i powinno działać bez dodatkowych zabiegów.

    Sam ostatnio tak zrobiłem sobie bibliotekę do EADOGM204B A z interfejsem równoległym i podzieliłem się nią na Forum.
  • #9 18527429
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Generalnie z ożywieniem tego w C nie ma problemu, ale z pewnych względów chciałem to zrobić w Bascom.
    Znam ten link - też próbowałem. Wszystkie kody ładowane z Bascom dają ten sam efekt - czarny prostokąt.
    Z Bascomem miałem dłuuugą przerwę i nie wiem, czy robię błąd w kodzie, czy mam coś z biblioteką.
  • REKLAMA
  • Pomocny post
    #10 18527450
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Coś mi tu....
    Jesteś pewien, że masz tam 128x64? Po wpisaniu numeru płyty ATXMEGAA3BU-XPLD Atmel zwraca w PDF`ie coś takiego ;)

    Bascom AVR - Xmega wyświetlacz ST7565.

    Oczywiście jak porównasz biblioteki to się różnią ilością bajtów i np jedna ma 4 pages a druga 8 pages itd..

    Bascom AVR - Xmega wyświetlacz ST7565.
  • #11 18527623
    warlocki
    Poziom 15  
    Posty: 114
    Pomógł: 13
    Ocena: 21
    Właśnie zostałeś Kolego moim GURU :D
    Ruszyło :)
    To była kwestia biblioteki - musi być glcdEADOGM128x3 i wtedy działa :)

    Dodano po 2 [minuty]:

    Bascom AVR - Xmega wyświetlacz ST7565.

    Dodano po 12 [minuty]:

    Należało użyć innej biblioteki: glcdEADOGM128x3.
    Poniższy kod działa bez żadnych przeróbek na ATXMEGAA3BU-XPLD:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #12 19325784
    lechm56
    VIP Zasłużony dla elektroda
    Posty: 3039
    Pomógł: 112
    Ocena: 367
    Witam.Odblokowano na wniosek autora tematu.

Podsumowanie tematu

✨ Użytkownik starał się wyświetlić dane na wyświetlaczu ST7565R przy użyciu mikrokontrolera ATXMEGAA3BU-XPLD i języka Bascom, jednak napotkał problem, w którym na ekranie pojawiał się jedynie czarny prostokąt. Po wymianie informacji na forum, zasugerowano sprawdzenie konfiguracji portów oraz użycie odpowiedniej biblioteki. Ostatecznie rozwiązaniem okazało się zastosowanie biblioteki glcdEADOGM128x3, co pozwoliło na poprawne działanie wyświetlacza.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA