ATNEL tech-forum
https://forum.atnel.pl/

DS18B20 Atmega32
https://forum.atnel.pl/topic20426.html
Strona 1 z 1

Autor:  Pixelxx [ 17 mar 2018, o 20:55 ]
Tytuł:  DS18B20 Atmega32

Witam.

Chciałbym wyświetlić temperaturę na wyświetlaczu LCD. Ale mam problem z kompilacją i nie rozumiem błędu.
Piszę w ECLIPSE na procesorze Atmega32, programator usbasp.

Kod:
#include <avr/io.h>
#include<util/delay.h>
#include <avr/pgmspace.h>
#include <HD44780/lcd44780.h>
#include <avr/interrupt.h>
#include <ds18b20/ds18b20.h>


int main(void)
{

   lcd_init();
   uint8_t temp=0;

      while(1)
   {

      temp=ds18b20_gettemp();
      lcd_locate(0,0);
      lcd_str("xxx");
      lcd_locate(1,4);
      lcd_int(temp);
      _delay_ms(200);

   }
}



Kod błędu

Kod:
20:52:08 **** Incremental Build of configuration Release for project 05_LCD ****
make all
'Building target: 05_LCD.elf'
'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,05_LCD.map -mmcu=atmega32 -o "05_LCD.elf"  ./LCD/lcd44780.o  ./main.o   
./main.o: In function `main':
main.c:(.text.startup.main+0x4): undefined reference to `ds18b20_gettemp'
collect2.exe: error: ld returned 1 exit status
make: *** [05_LCD.elf] Błąd 1

20:52:08 Build Finished (took 411ms)


Autor:  skalarro [ 17 mar 2018, o 21:19 ]
Tytuł:  Re: DS18B20 Atmega32

Pixelxx napisał(a):
temp=ds18b20_gettemp();


Tu szukaj problemu. kompilator krzyczy, że nie może odnaleźć tej funkcji, bo jej nie zdefiniowałes. czyli najczęściej albo literówka w nazwie, albo funkcja w innym pliku a niezainkludowana albo jej w ogóle nie ma

Autor:  Pixelxx [ 17 mar 2018, o 21:30 ]
Tytuł:  Re: DS18B20 Atmega32

No szukałem i nie ogarniam korzystam z takiej biblioteki.
Możesz coś doradzić?

Autor:  skalarro [ 17 mar 2018, o 21:52 ]
Tytuł:  Re: DS18B20 Atmega32

wiesz co? na forum wrzucasz jedno, załączasz w zipie coś innego.... To z załącznika się kompiluje (po wywaleniu uarta - bo Ty go nie masz). A to oznacza, że coś namieszałeś w projekcie ale nie pokazujesz co.

Autor:  Pixelxx [ 17 mar 2018, o 21:53 ]
Tytuł:  Re: DS18B20 Atmega32

To jest paczka co pobrałem, i zabrałem tylko cześć z termometrem. A nie, że załączam coś innego.

Autor:  xentis [ 17 mar 2018, o 21:56 ]
Tytuł:  Re: DS18B20 Atmega32

dołączanie własnych bibliotek powinno się zawierać w cudzysłowie a nie w nawiasach trójkątnych.

Autor:  skalarro [ 17 mar 2018, o 21:57 ]
Tytuł:  Re: DS18B20 Atmega32

To odpowiem Tobie na Twój sposób. zobacz jak to działa.
Moja odpowiedź brzmi: Aha.

Zawsze wrzucaj ten projekt/plik z którym masz problem a nie bibliotekę źródłową.


xentis napisał(a):
powinno się zawierać w cudzysłowie a nie w nawiasach trójkątnych.

dokładnie

Autor:  Pixelxx [ 17 mar 2018, o 22:00 ]
Tytuł:  Re: DS18B20 Atmega32

Biblioteki dołączyłem do bibliotek, głównych, dlatego użyłem <>
Poratuje, ktoś w rozwiązaniu tego :/?

Obrazek

Autor:  skalarro [ 17 mar 2018, o 22:06 ]
Tytuł:  Re: DS18B20 Atmega32

hmmm, nie wiem, czy tak można. Co prawda kompilator nie krzyczy, że nie widzipliku ale też nie znalazł funkcji.
Zawsze wrzucaj biblioteki bezpiśrednio do danego projektu w workspace i używaj wtedy "" zamiast <>.

Autor:  Pixelxx [ 17 mar 2018, o 22:10 ]
Tytuł:  Re: DS18B20 Atmega32

Przeniosłem do projektu nadal taki sam błąd.

W załączniku jest cały projekt ten co robie.

[ A z jakiej okazji kolega wkleja kody źródłowe z książki na forum ? mówię tu o bibliotekach z Bluebooka nie o samych plikach main.c - mirekk36 ]

Autor:  xentis [ 17 mar 2018, o 22:10 ]
Tytuł:  Re: DS18B20 Atmega32

Zrób clean projektu + Index -> Freshen All Files następnie ponownie Build

Autor:  Pixelxx [ 17 mar 2018, o 22:13 ]
Tytuł:  Re: DS18B20 Atmega32

Super dziekuje bardzo, wszystko działa! :)

Autor:  skalarro [ 17 mar 2018, o 22:13 ]
Tytuł:  Re: DS18B20 Atmega32

kompiluje się bez żadnych zmian

Autor:  micky [ 18 mar 2018, o 07:33 ]
Tytuł:  Re: DS18B20 Atmega32

Wrzucamy paczki zzipowane a nie .rar, .7z itd.

Autor:  mirekk36 [ 18 mar 2018, o 13:37 ]
Tytuł:  Re: DS18B20 Atmega32

[ A z jakiej okazji kolega Pixelxx wkleja kody źródłowe z książki na forum ? mówię tu o bibliotekach z Bluebooka nie o samych plikach main.c - mirekk36 ]

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/