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

Kompilacja kodu Bascom AVR 1.11.8.3 z obsługą wyświetlacza KS0108

SP3SWJ 15 Sie 2006 14:50 1965 5
REKLAMA
  • #1 2917910
    SP3SWJ
    Poziom 19  
    Posty: 274
    Pomógł: 13
    Ocena: 9
    W pewnym projekcie
    http://www.qsl.net/pa3ckr/bascom%20and%20avr/iw3hev/
    do którego sa źródła, zmieniłem rodzaj stosowanego wyświetlacz LCD, oryginalnie był ze sterownikiem T6963 a ja wstawiłem obsługę z KS0108

    Problem polega na tym że:
    - kod programu ma ponad 4kb i wersja DEMO tego nie kompiluje

    Czy można prosić kogoś o POMOC - o skompilowanie pliku .BAS najnowszą wersją Bascom AVR 1.11.8.3 (ona ma już zaimplementoaną obsługe KS0108 )


    Jedyny błąd jaki zgłasza mi Bascom AVR 1.11.8.3 DEMO , to przekroczenie wielkości kodu 4096 bytes.

    /Pozdrawiam Jarek
    Załączniki:
    • VNALCDSWJ_02.zip (27.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 2918198
    ZbeeGin
    Poziom 39  
    Posty: 4308
    Pomógł: 601
    Ocena: 439
    Podczas kompilacji wyskakuje Mi błąd:
    Error : 61    Line :   951   Label not found _LCD_CONTROL                    ]  , in File : E:\DOWNLOADED\ELKA_VNALCDSWJ\VNALCDSWJ_01.BAS

    Choć wszystkie pliki wynikowe niby zostały utworzone. Flash used 43%. Zajrzyj do raprtu kompilacji (plik REP), bo pojawiły się na końcu jeszcze wpisy o za dużych ciągach znakowych.
    Załączniki:
    • elka_vnalcdswj.zip (59.87 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #3 2918321
    SP3SWJ
    Poziom 19  
    Posty: 274
    Pomógł: 13
    Ocena: 9
    dodałem cos nieznacznie


    'settings from KS 108.BAS sample program
    $hwstack = 32
    $swstack = 10
    $framesize = 40


    w załączeniu wynik kompilacji i zwracane u mnie błędy

    /jarek
    Załączniki:
    • BASCOM_VNA_02.zip (186.75 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #4 2918572
    ZbeeGin
    Poziom 39  
    Posty: 4308
    Pomógł: 601
    Ocena: 439
    Pomimo ustawienia stosów prosto z programu - wcześniej ustawiłem nawet większe, bazując na ilości procedur i zmiennych lokalnych - niestety błąd dalej się powtarza. Tak jakby w którejś z bibliotek lub w zasobach kompilatora nie było wymaganej procedury _LCD_CONTROL.
    Próby zmian trybu graficznego w poleceniu Config Graphlcd, jak też zmiana biblioteki na inną powodują, że błędów jest jeszcze więcej. :(
  • REKLAMA
  • Pomocny post
    #5 2921353
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 51
    Nie wnikając w szczegóły(za wiele pisania :D ) , proponuję w podprogramie "Welcome" , zakomentować/usunąć instrukcję Cursor Off , gdyż tylko ta instrukcja chciałaby "skoczyć" do etykiety _lcd_control.Ponieważ z krótkiej analizy kodu wnioskuję , że ten wyświetlacz pracuje tylko w trybie graficznym , więc o włączaniu/wyłączaniu kursora , raczej nie może byc mowy :D Jeśli się mylę , i taki rozkaz/kod wyłączenia kursora istnieje , to wystarczy w kodzie dopisać np. ...
    
    _lcd_control:
    push r24
    ldi r24,KOD_CURSOR_OFF
    call  _gwrite_cmd
    pop r24
    'lub w podobny sposób , zalecany przez producena LCD-ka
    ret
    

    ... i powinno zadziałać.Myślę jednak , że wystarczy usunąć Cursor Off.

    Piotrek
  • #6 2921667
    SP3SWJ
    Poziom 19  
    Posty: 274
    Pomógł: 13
    Ocena: 9
    zumek napisał:


    ... i powinno zadziałać.Myślę jednak , że wystarczy usunąć Cursor Off.

    Piotrek



    i pomogło :D

    zdecydowanie ten KS0108 nie ma wbudowanego generatoa znaków

    temat zamykam -)

    DZIĘKI

    /Jarek SWJ

    PS
    dzięki - jak potestuje to z hardwarem to dam znak na PW -)
REKLAMA