Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam.

Pobrałem bibliotekę do DS18B20 programy piszę w ECLIPSE na Atmega32. Chciałbym wyświetlić temp na wyświetlaczu LCD i mam kody błędu. Czy ktoś wie w czym tkwi problem?

Kod programu:

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



float d=100;

int main(void)
{

lcd_init();
uint8_t temp;

	while(1)
{

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

}
}

Kody błedu

16:45:43 **** 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+0x1a): undefined reference to `ds18b20_gettemp'
collect2.exe: error: ld returned 1 exit status
make: *** [05_LCD.elf] Błąd 1

16:45:44 Build Finished (took 333ms)

Linker nie może znaleźć pliku z funkcją ds18b20_gettemp.

Musisz tak zmienić ustawienia, żeby w wywołaniu linkera był dołączany plik ds18b20/ds18b20.o

Hmm no tak dokładnie co zrobić to ciężko mi powiedzieć.

Spróbuj wyczyścić projekt ('Clean') i zbuduj ponownie.

Pokaż pliki ds18b20.h i ds18b20.c i pokaż też strukturę plików w projekcie.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...