Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM8 - Wyświetlacz HD44780 + STM8S-Discovery

m33ll 20 Kwi 2013 16:08 1980 8
  • #1 20 Kwi 2013 16:08
    m33ll
    Poziom 8  

    Witam Szanowych Forumowiczów. Od około tygodnia probuje uruchomić wyświetlacz WC1602A0 zgodny ze sterownikiem HD44780 niestety bezskutecznie. W pierwszej kolejności próbowałem odpalić wyświetlacz wg schematów

    http://atomsoft.wordpress.com/2010/03/08/lcd-on-stm8s-discovery/
    http://we.easyelectronics.ru/DareDen/stm8-i-lcd-na-osnove-hd44780.html


    niestety podczas kompilacji otrzymuje bledy

    #error clnk Debug\lcdtest.lkf:1 symbol _GPIO_ReadOutputData not defined (Debug\hd44780.o )

    Spróbowałem uruchomić wsywietlacz w STVD w Assemblerze
    podlaczylem wyświetlacz tak jak na zdjęciu poniżej i na PB_ODR po kolei w trybie debbugowania wprowadzałem zgodnie z tablelka konkretne bity jednak tez nic czy ktoś moglby podpowiedzieć dlaczego nie chce się zainicjalizować? Napiecie jest +5V

    |RS|RW|DB7|DB6|DB5|DB4|
    | 0 | 0 | 0 | 0 | 1 | 1 |
    | 0 | 0 | 0 | 0 | 1 | 1 |
    | 0 | 0 | 0 | 0 | 1 | 1 |
    | 0 | 0 | 0 | 0 | 1 | 0 |
    | 0 | 0 | 0 | 0 | 1 | 0 |
    | 0 | 0 | 1 | 0 | 1 | 0 |
    | 0 | 0 | 0 | 0 | 0 | 0 |
    | 0 | 0 | 1 | 0 | 0 | 0 |
    | 0 | 0 | 0 | 0 | 0 | 0 |
    | 0 | 0 | 1 | 1 | 1 | 1 |
    | 0 | 0 | 0 | 0 | 0 | 0 |
    | 0 | 0 | 0 | 1 | 1 | 0 |

    Ustawienia:
    PB_ODR wprowadzane po kolei zgodnie z tabelka
    PB_DDR - > 00000000
    PB_CR1 - > 00000000
    PB_CR2 - > 00000000

    Bardzo proszę o pomoc
    STM8 - Wyświetlacz HD44780 + STM8S-Discovery

    0 8
  • #2 20 Kwi 2013 17:30
    BlueDraco
    Specjalista - Mikrokontrolery

    Skoro uparłeś się na używanie procedur bibliotecznych, to dołącz do projektu plik zawierający te procedury, który zapewne znajdziesz w paczce z programami demonstracyjnymi, którą można ściągnąć od producenta.

    0
  • #3 20 Kwi 2013 18:35
    m33ll
    Poziom 8  

    dolaczam zawsze stm8s.h stm8s_conf.h w której zawarte jest dolaczenie wszystkich innych w tym również stm8s_gpio.h do uzycia portow wyjścia/wejscia

    0
  • #4 20 Kwi 2013 18:39
    BlueDraco
    Specjalista - Mikrokontrolery

    Czyli dołączasz informację dla kompilatora o tym, że gdzieś istnieją takie procedury. Niestety, samych procedur nie dołączasz, a biedny linker nie potrafi się domyślić, skąd je wziąć.

    0
  • #5 20 Kwi 2013 18:47
    m33ll
    Poziom 8  

    nie wiem czy dobrze rozumiem, wydawalo mi się ze wszystko robie poprawnie, w main.c mam dopisane
    #include "stm8s.h"
    #include "HD44780.h"
    #include "stm8s_conf.h"
    #include "stm8s_gpio.h"
    wszystkie pliki *.h znajduja się w tym samym folderze co projekt. I przykładowo gdy utworze projekt dodam biblioteki do projektu i wpisze include... zamkne i zapisze projekt i zmienie lokalizacje plikow bibliotek to STVD krzyczy do mnie ze pliki bibliotek sa nieosiągalne. Wiec nie wiem co w tym momencie jest nie tak

    1
  • #6 20 Kwi 2013 19:39
    BlueDraco
    Specjalista - Mikrokontrolery

    Plik .h to tylko informacja, że istnieje gdzieś jakaś procedura. Skąd kompilator, a potem konsolidator ma wziąć tę procedurę? Wstaw bibliotekę w opcjach konsolidatora albo dodaj do projektu pliki .c, które zawierają definicje procedur, z których korzystasz.

    Pliki .h to NIE biblioteki.

    0
  • #7 20 Kwi 2013 20:04
    m33ll
    Poziom 8  

    Bardzo dzięki za pomoc, odnalazłem jeszcze plik "stm8s_gpio.c" i gdy go dodałem program się ladnie skompilowal, jednak dalej nie ruszylo to wyświetlacza. Skorzystalem z projektu, który jest na tej stronie
    http://we.easyelectronics.ru/DareDen/stm8-i-lcd-na-osnove-hd44780.html

    Wyswietlacz dalej ma same kwadraty podlaczony jest wg zdjęcia zamieszczonego wyzej

    0
  • #8 20 Kwi 2013 20:11
    BlueDraco
    Specjalista - Mikrokontrolery

    Czyli wyświetlacz nie został zainicjowany.

    0
  • #9 20 Kwi 2013 20:17
    m33ll
    Poziom 8  

    wiem, tylko nie mogę dojść do tego dlaczego tak się dzieje, probowalem go inicjalizować tak jak napisałem w asseblerze jak również poprzez ten projekt ze strony która podalem i nie mogę doszukać się w czym jest problem

    0