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

[Atmega32] [Atmega32][C]+LM35 - Błąd kompilacji: implicit declaration of function 'analogRead'

Xervith 29 Sie 2012 19:09 1311 3
REKLAMA
  • #1 11259046
    Xervith
    Poziom 9  
    Witam Wszystkich!

    Robie termometr- LM35DZ i LCD + atmega32.
    Problem w tym,ze zaczęły mi wyskakiwać dzisiaj dziwne błędy i nie wiem czy to moja wina czy "Eclipse" .
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Za każdym razem jak próbuje skompilować, wyskakuje mi coś takiego:

    
    make all 
    Building file: ../AVR_Test.c
    Invoking: AVR Compiler
    avr-gcc -Wall -O2 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=1000000UL -MMD -MP -MF"AVR_Test.d" -MT"AVR_Test.d" -c -o "AVR_Test.o" "../AVR_Test.c"
    ../AVR_Test.c: In function 'main':
    [b][u]../AVR_Test.c:30: warning: implicit declaration of function 'analogRead'[/u][/b]
    Finished building: ../AVR_Test.c
     
    Building target: AVR_Test.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,AVR_Test.map -mmcu=atmega32 -o "AVR_Test.elf"  ./AVR_Test.o   
    ./AVR_Test.o: In function `main':
    [u][b]AVR_Test.c:(.text+0x1d4): undefined reference to `analogRead'[/b][/u]
    make: *** [AVR_Test.elf] Error 1
    
    
    



    Ktoś może wie o co chodzi z tym ostrzeżeniem,bo to strasznie irytujace?


    Pozdrawiam
  • REKLAMA
  • #2 11259073
    Andrzej__S
    Poziom 28  
    Wygląda na to, że brakuje Ci prototypu funkcji "analogRead()". Powinien być na początku pliku "AVR_Test.c" lub w pliku nagłówkowym dołączanym na początku tego pliku.
  • REKLAMA
  • #3 11259502
    tmf
    VIP Zasłużony dla elektroda
    Nie tylko brakuje prototypu, ale także ciała funkcji "analogRead()". I jest to zdecydowanie błąd programisty a nie IDE :)
    Poza tym warto przeczytać:
    http://mikrokontrolery.blogspot.com/2011/04/temperatura-wyswietlacz-konwersja.html
    Bo ten float woła o pomstę do nieba :)
  • #4 11259823
    Xervith
    Poziom 9  
    hehe... własnie zauważyłem.Myslalem,ze analogRead() to funkcja z bibliotek a tu trzeba ja samemu napisać.To przez to,ze w rożnych artykułach używali tej samej funkcji.
    Ten float to mi tez za ciekawie nie wyglądał,a wiadomości spod linku napewno wkuje na pamięć.

    Dzięki wielkie za pomoc i przepraszam za taka głupią wpadkę.

    Pozdrawiam
REKLAMA