f
Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 548

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 549

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/page_header.php on line 343
And-Tech :: Zobacz temat - Jak dolaczyc biblioteki lcd.h ? "undefined reference to

Strona korzysta z plików cookie w celu realizacji usług zgodnie z Politykš prywatnoœci.

Możesz okreœlić warunki przechowywania lub dostępu do cookie w Twojej przeglšdarce lub konfiguracji usługi.

And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
Jak dolaczyc biblioteki lcd.h ? "undefined reference to
Autor Wiadomość
namlooc
namlooc

Dołączył: 02 Sie 2010
Posty: 2
Wysłany: Pon Sie 02, 2010 9:44 pm   Jak dolaczyc biblioteki lcd.h ? "undefined reference to

Witam!

Kompilacja daje mi nastepujący bląd:
" moje nowe\wyswietlacz/wyswietlacz.c:8: undefined reference to `LCD_init' "
W katalogu z programem mam nastepujace pliki:
- config.h
- wyswietlacz.c
- makefile
- katalog "lib" rozpakowany z pliku biblioteki-lib.zip umieszczonego na stronce glownej

Czy oraz jak umiescic biblioteki w makefile poniewaz zadnych nie dodawalem ? ..bo chyba tu tkwi problem ?!

Tutaj screen shot:

problem.jpg
Plik ściągnięto 904 raz(y) 212,71 KB

 
     
namlooc
namlooc

Dołączył: 02 Sie 2010
Posty: 2
Wysłany: Wto Sie 03, 2010 1:07 am   

Dobra..poradzilem sobie...

1. Przedewszystkim korzystalem z Mfile w WinAvr ktory tworzyl make file inaczej wygladajace niz przykladowe sciagniete ze stronki AndTech !!

2. Biblioteki jakie mialem byly oryginalne z WinAVR, natomiast biblioteki ze stronki sa inne !!

3. W konkurencyjnych kursach oraz stronach o atmegach ludzie podaja zlacza R/W RS oraz E...gdzie AndTech podaje BL RS E...gdzie w config.h jest EN i RS..pomieszanie z poplataniem ;p

3a. Tu jest jeden z lepszych kursow atmegi http://hobby.abxyz.bplaced.net/ ale jezeli go robicie to w momencie dojscia do czesci 5 gdzie mamy juz biblioteki..trzeba jednoczesnie miec hardware jak koles a nie AndTech'a

4. Wszystko co jest ze stronki And tech trzeba robic w WinAVR-20060421 !!! Poniewaz biblioteki pisanie sa pod niego.

5. Jezeli korzystasz z innych znalezionych w sieci bibliotek..nie wygrzebiesz sie z bledow do smierci...
5a. Masz evb andtech'a to korzystaj z bibliotek i przykladow umieszczonych na stronce..bedziesz probowal zaadaptowac inne polegniesz tonac w errorach
 
     
And-Tech
Site Admin

Dołączył: 22 Lut 2007
Posty: 285
Wysłany: Wto Sie 17, 2010 6:11 pm   

na stronie www.evb.and-tech.pl są już całkowicie nowe projekty stworzone w AVRStudio oraz Bascomie.

Nie ma potrzeby już kompilowania ich na starym GCC - spokojnie ruszą również na nowym WinAVR

Bardzo przepraszamy klientów za problemy ze starymi przykładami
 
     
acc 

Dołączył: 15 Lut 2011
Posty: 6
Wysłany: Wto Lut 15, 2011 5:52 pm   

Ja również mam spory problem z bibliotekami. Nie jestem w stanie skompilować przykładowego kodu dla LCD (dostępny pod adresem):

(zbiór projektów dla avrstudi dla atmega664p):
http://evb.and-tech.pl/in...dio-all&lang=pl

(biblioteki do wyżej wymienionych plików):
http://evb.and-tech.pl/in...2%3Alib&lang=pl

Kompiluję w AVRStudio 4.18 SP3, z WinAVR 20100110 (próbowałem na rekomendowanej wersji 2006 - niestety również bezskutecznie).

Poniżej wynik kompilacji korzystający z gotowego mfile:

Kod:
Build started 15.2.2011 at 17:07:04
makefile:30: ../../lib/lcd/sources: No such file or directory
makefile:34: ../../lib/delay/sources: No such file or directory
makefile:36: ../../lib/uart/sources: No such file or directory
makefile:49: ../../lib/avr_make: No such file or directory
make: *** No rule to make target `../../lib/avr_make'.  Stop.
Build failed with 5 errors and 0 warnings...


Błąd jest zapewne z bibliotekami, lecz niestety nie mam bladego pojęcia jak je poprawnie zamieścić dlatego też proszę o pomoc w tej sprawie.

Sam również próbowałem kompilować bez makefile'a lecz niestety rezultaty są podobne:

Kod:
Build started 15.2.2011 at 17:17:35
avr-gcc  -mmcu=atmega644p -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF dep/lcd.o.d  -c  ../lcd.c
../lcd.c:7:17: error: lcd.h: No such file or directory
../lcd.c:8:18: error: uart.h: No such file or directory
../lcd.c: In function 'progressbar':
../lcd.c:19: error: 'u08' undeclared (first use in this function)
../lcd.c:19: error: (Each undeclared identifier is reported only once
../lcd.c:19: error: for each function it appears in.)
../lcd.c:19: error: expected ';' before 'i'
../lcd.c:20: warning: implicit declaration of function 'LCD_progressbar_init'
../lcd.c:21: error: 'i' undeclared (first use in this function)
../lcd.c:23: warning: implicit declaration of function 'LCD_progressbar'
../lcd.c:24: warning: implicit declaration of function 'LCD_xy'
../lcd.c:25: warning: implicit declaration of function 'LCD_putint'
../lcd.c:26: warning: implicit declaration of function 'LCD_putchar'
../lcd.c:27: warning: implicit declaration of function 'delayms'
../lcd.c: In function 'chartable':
../lcd.c:33: error: 'u08' undeclared (first use in this function)
../lcd.c:33: error: expected ';' before 'x'
../lcd.c:34: error: expected ';' before 'ch'
../lcd.c:35: warning: implicit declaration of function 'LCD_PL_chars_init'
../lcd.c:36: error: 'z' undeclared (first use in this function)
../lcd.c:36: error: 'LCD_X' undeclared (first use in this function)
../lcd.c:36: error: 'LCD_Y' undeclared (first use in this function)
../lcd.c:38: error: 'y' undeclared (first use in this function)
../lcd.c:41: error: 'x' undeclared (first use in this function)
../lcd.c:42: error: 'ch' undeclared (first use in this function)
../lcd.c: At top level:
../lcd.c:58: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'adr'
../lcd.c:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ack'
../lcd.c: In function 'main':
../lcd.c:62: warning: implicit declaration of function 'LCD_init'
../lcd.c:70: warning: implicit declaration of function 'LCD_putstr_P'
../lcd.c:73: warning: implicit declaration of function '_delay_ms'
../lcd.c:75: warning: implicit declaration of function 'LCD_clear'
../lcd.c:86: error: expected ')' before '_z'
../lcd.c:102: warning: implicit declaration of function 'LCD_cursor_on'
../lcd.c:108: warning: implicit declaration of function 'LCD_cursor_right'
../lcd.c:112: warning: implicit declaration of function 'LCD_cursor_left'
../lcd.c:119: warning: implicit declaration of function 'LCD_cursor_off'
../lcd.c:124: warning: implicit declaration of function 'UART_putstr_P'
make: *** [lcd.o] Error 1
Build failed with 19 errors and 16 warnings...


Powyżej błędy bez korzystania z gotowego makefile'a, gdzie w Project->Configuration Options w "zakładce" Libraries dołączyłem folder "lib" który ściągnąłem z Państwa strony. Jak widać bezskutecznie, ale to nie powstrzymało mnie od dalszych prób:


Kod:
In file included from D:\AVR\programy\AVRStudio\Przyklad LCD\..\lib/lcd.h:85,
                 from ../lcd.c:7:
c:/winavr-20100110/lib/gcc/../../avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."
../lcd.c: In function 'chartable':
../lcd.c:36: error: 'LCD_X' undeclared (first use in this function)
../lcd.c:36: error: (Each undeclared identifier is reported only once
../lcd.c:36: error: for each function it appears in.)
../lcd.c:36: error: 'LCD_Y' undeclared (first use in this function)
make: *** [lcd.o] Error 1
Build failed with 5 errors and 3 warnings...


Powyżej błędy [bez makefile'a] które otrzymałem gdy dodałem folder "lib" do zakładki "Include Directories" w Project->Configuration Options. Niemniej jednak nie zniechęcałem się i dalej próbowałem poprawnie załączyć te biblioteki. Ten sam rezultat otrzymałem bez korzystania z gotowego makefile'a, gdzie w Project->Configuration Options w "zakładce" Libraries dodatkowo dołączyłem pliki: "uart.h" i "lcd.h". Jak widać bezskutecznie.

Ponadto bardzo zastanawia mnie kwestia podłączenia tego LCD, w config.h mam:
Kod:
#define LCD_PORT    PORTC


natomiast w info.txt:
Cytat:
obsługa wyświetlacza LCD – z biblioteką w oddzielnych plikach

Wyświetlacz podłączony pod PortD


Także kwestia poprawnego podłączenia też jest dla mnie zagadkowa i prosiłbym o jakieś precyzyjne instrukcje gdyż nawet próbując załadować hex'a ze strony evb.and-tech.pl otrzymuję tylko niebieski ekran i nic więcej (samo podświetlenie). LCD na pewno jest sprawny gdyż testowy "startowy" hex defaultowo wgrany przez And-Tech ładnie pokazywał temperaturę, a nic przy kontraście nie kombinowałem.

Proszę o pomoc z tymi bibliotekami bo jestem już zdesperowany, próbowałem nawet sam zakładać nowy projekt, ale dostaję taki sam error jak w sąsiednim temacie:
http://www.and-tech.pl/forum/viewtopic.php?t=136

(TUTAJ próbowałem z mniej skomplikowanym kodem który wymagał mniejszej ilości biliotek)

KOD:
Kod:
// Przykładowy program do obsługi wyświetlacz LCD
// Program przygotowany dla zestawu  uruchomieniowego EvB 4.3
// WWW.AND-Tech.PL
// Program należy umieścić w tym samym folderze co katalog bibliotel lib (do ściągnięcia oddzielnie)
//
// Podłaczenie wyświetlacza LCD
// BL = PortC.1
// Rs = PortC.2
// E = PortC.3
// Db4 = PortC.4
// Db5 = PortC.5
// Db6 = PortC.6
// Db7 = PortC.7

/* ------------------------------------------------------------------------- */
/*    Test wyświetlacza LCD                             */
/* ------------------------------------------------------------------------- */

#include <avr/io.h>
#include <avr/pgmspace.h>
#include "lcd.h"

/* ------------------------------------------------------------------------- */
/*               Definicje funkcji                     */
/* ------------------------------------------------------------------------- */

void progressbar(void)
{
  u08 i;
  LCD_progressbar_init();    // inicjalizacja generatora znaków
  for(i=0; i<255; i++)
  {
    LCD_progressbar(1,i);    // pasek postępu w wierszu 1
    LCD_xy(12,0);        // ustaw kursor w wierszu 0 kol. 12
    LCD_putint(i,10);        // wyświetl tam wartość
    LCD_putchar(')');        // zakończ nawias
    delayms(20);        // czekaj 20ms
  }
}
 
void chartable(void)
{
  u08 x,y,z;
  u08 ch=0;           
  LCD_PL_chars_init();        // inicjalizacja polskich znaków
  for(z=0;z<(256/(LCD_X*LCD_Y));z++)    // oblicz ilość "ekranów"
  {                // i wszystkie wyświetl
    for(y=0;y<LCD_Y;y++)    // we wszystkich wierszach
    {
      LCD_xy(0,y);        // ustaw kursor na początek wiersza
      for(x=0;x<LCD_X;x++)    // i w każdej kolumnie
        LCD_putchar(ch++);    // wyświetl inny znak
    }
    delayms(500);        // przez chwilę wyświetlaj "ekran"
  }
}

void delayms1000(void)
{
  delayms(1000);
}

/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- */
/* ----------------         Program glowny         ---------------- */
/* ------------------------------------------------------------------------- */
u08 adr;
  u08 ack;
int main(void)
{               
  LCD_init();            // inicjalizacja wyświetlacza
   
 
  while(1)            // pętla nieskończona
  {
    LCD_PL_chars_init();    // inicjalizacja polskich znaków

    LCD_putstr_P(PSTR(" Testowanie LCD"));
    LCD_xy(6,1);
    LCD_putstr_P(PSTR("DEMO"));
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("Zawijanie tekstu na wyświetlaczu"));
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("Piszemy w języku polskim :-)"));
    delayms(500);
    LCD_clear();
    LCD_putstr_P(PSTR("Poświęcić żabie żółtą bańkę! ;-)"));
    delayms(3000);
    LCD_clear();
    LCD_putstr_P(PSTR("Tak mo"_z"na pisa"_c" bez WIN1250"));
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("Tablica znaków"));
    delayms(500);
    chartable();

    LCD_clear();
    LCD_putstr_P(PSTR("progressbar("));
    progressbar();
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("_cursor_on()"));
    LCD_cursor_on();
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("_right_left_"));
    delayms(200);
    LCD_cursor_right();
    delayms(200);
    LCD_cursor_right();
    delayms(200);
    LCD_cursor_left();
    delayms(200);
    LCD_cursor_left();
    delayms1000();

    LCD_clear();
    LCD_putstr_P(PSTR("_cursor_off()"));
    LCD_cursor_off();
    delayms1000();

    LCD_clear();
  }
}

/* ------------------------------------------------------------------------- */
/*        Koniec programu Test LCD na AVR                            */
/* ------------------------------------------------------------------------- */


I cała masa błędów jak w sąsiednim temacie,

Cytat:
D:\AVR\programy\AVRStudio\LCD_test\default/../LCD_test.c:45: undefined reference to `LCD_PL_chars_init'
...
...


Dołączając folder "lib" do libraries i dorzucając "lcd.h" do okna "Link with these objects" dostaję takie błędy:

Kod:
rm -rf LCD_test.o  LCD_test.elf dep/* LCD_test.hex LCD_test.eep LCD_test.lss LCD_test.map
Build succeeded with 0 Warnings...
avr-gcc -I"D:\AVR\programy\AVRStudio\LCD_test\lib"  -mmcu=atmega644p -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT LCD_test.o -MF dep/LCD_test.o.d  -c  ../LCD_test.c
In file included from ../lcd.h:83,
                 from ../LCD_test.c:21:
../global.h:166:1: warning: "_UBRR_" redefined
../global.h:162:1: warning: this is the location of the previous definition
avr-gcc -mmcu=atmega644p -Wl,-Map=LCD_test.map LCD_test.o   -L"D:\AVR\programy\AVRStudio\LCD_test\lib"  -lD:\AVR\programy\AVRStudio\LCD_test\lcd  -o LCD_test.elf
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: cannot find -lD:AVRprogramyAVRStudioLCD_testlcd
make: *** [LCD_test.elf] Error 1
Build failed with 1 errors and 2 warnings...



Jak widzicie "trochę" już próbowałem, ale niestety nic nie działa, proszę o pomoc. Nie chciałem wam tu forum spamować ale wyszło trochę długie bo nie chciałem by wyszło na to że tylko żądam wszystkiego "na tacy".

Pozdrawiam i czekam na pomoc.
 
     
Kameleon 

Dołączył: 17 Mar 2011
Posty: 1
Wysłany: Czw Mar 17, 2011 3:27 pm   

Witam. Mam identyczną sytuację, co kolega wyżej. W jaki sposób można taki problem rozwiązać?
 
     
ketyow

Dołączył: 19 Mar 2012
Posty: 2
Wysłany: Pon Mar 19, 2012 10:31 pm   

Niech mi ktoś poda link do bibliotek lcd, które będą współpracować z tą płytką, najlepiej z przykładowymi programami, bo oszaleję. Ściągnąłem te http://winavr.scienceprog...ce-library.html i początkowo działało nawet, program był wrzucony na płytkę, po paru godzinach wracam do domu, popinam pod USB i cała pierwsza linia wyświetlacza w kwadracikach. No to jestem zaskoczony, bo przecież program z pamięci nie wyparowuje, ale wgrywam go ponownie i nic. Nie chcę w stu plikach, fajnie byłoby mieć wszystko w jednym miejscu, jak w tym linkowanym, tylko co tu jest nie halo że to nie działa? I czym ta płytka się różni od ZL3AVR, że biblioteki z tamtej też nie chcą chodzić? Co trzeba by przestawić, żeby poszły (tam mam od razu polskie znaki i kupę fajnych rzeczy).
 
     
ketyow

Dołączył: 19 Mar 2012
Posty: 2
Wysłany: Wto Mar 27, 2012 10:57 am   

Problem z wyświetlaniem spowodowany jest tym, że standardowe biblioteki nie są w stanie działać z procesorem 16 MHz. Tutaj znalazłem działające: http://monitor-sterownika...story/r2/trunk/

Szkoda, że producent nie zobowiązuje się do odpowiedzi na takie pytania.
 
     
gorfag

Dołączył: 16 Lut 2010
Posty: 13
Wysłany: Pon Wrz 24, 2012 4:15 pm   

Czy ktoś wie gdzie jest zdefiniowany typ "cBuffer" (np w pliku lin/uartsw.h - cBuffer* UARTSW_GetRxBuffer(void);) ? Próbuję skompilować przykład z LCD za pomocą Eclipse z najnowszą wersją WinAVR i nie widzi tego typu.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group