Forum: Compiler & IDEs LCD.h geht nicht AVR Studio


von Kim S. (Gast)


Lesenswert?

Hallo,
jetzt wollte ich mal dieses Demo versuchen aber es kommen 
Fehlermedlungen?!
Kann mir mal jemand sagen was ich falsch mache...
1
#include <stdlib.h>
2
#include <avr/io.h>
3
#include <avr/pgmspace.h>
4
#include "lcd.h"
5
6
int main (argc, argv)
7
  int argc;
8
  char** argv;
9
{
10
  char buffer[7];
11
    int  num=134;
12
    unsigned char i;
13
    
14
   /* initialize display, cursor off */
15
  lcd_init(LCD_DISP_ON);
16
    
17
    
18
  while (1)
19
  {
20
21
    /* clear display and home cursor */
22
    lcd_clrscr();
23
        
24
    /* put string to display (line 1) with linefeed */
25
    lcd_puts("LCD Test Line 1\n");
26
    
27
    /* cursor is now on second line, write second line */
28
        lcd_puts("Line 2");
29
        
30
        /* move cursor to position 8 on line 2 */
31
        lcd_gotoxy(7,1);  
32
        
33
        /* write single char to display */
34
        lcd_putc(':');
35
  }
36
}


Build started 28.9.2008 at 20:48:29
avr-gcc.exe  -mmcu=atmega32 -Wall -gdwarf-2    -DF_CPU=1000000UL -O0 
-fsigned-char -MD -MP -MT Projekt2.o -MF dep/Projekt2.o.d  -c 
../Projekt2.c
../Projekt2.c: In function 'main':
../Projekt2.c:12: warning: unused variable 'i'
../Projekt2.c:11: warning: unused variable 'num'
../Projekt2.c:10: warning: unused variable 'buffer'
avr-gcc.exe -mmcu=atmega32  Projekt2.o     -o Projekt2.elf
Projekt2.o: In function `main':
E:\Eigene Dateien\default/../Projekt2.c:15: undefined reference to 
`lcd_init'
E:\Eigene Dateien\default/../Projekt2.c:22: undefined reference to 
`lcd_clrscr'
E:\Eigene Dateien\default/../Projekt2.c:25: undefined reference to 
`lcd_puts'
E:\Eigene Dateien\default/../Projekt2.c:28: undefined reference to 
`lcd_puts'
E:\Eigene Dateien\default/../Projekt2.c:31: undefined reference to 
`lcd_gotoxy'
E:\Eigene Dateien\default/../Projekt2.c:34: undefined reference to 
`lcd_putc'
make: *** [Projekt2.elf] Error 1
Build failed with 6 errors and 3 warnings...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Diese Quelldatei alleine reicht für dein Projekt nicht aus. Du brauchst 
auch  eine Quelldatei, in der die Funktionen definiert ("ausformuliert") 
sind, die der Compiler in den Zeilen mit z.B. "E:\Eigene 
Dateien\default/../Projekt2.c:34: undefined reference to
`lcd_putc'" als Fehler meldet. Ich rate, dass die in der Datei lcd.c 
stehen. Diese Datei dann zusätzlich unter Source Files in dein Projekt 
aufnehmen!

von gast (Gast)


Lesenswert?

füge mal im avr studio links, da wo dien project2.c steht die lcd.c mit 
ein (also rechte maustaste auf den virtuellen ordner und hinzufügen)

von Kim S. (Gast)


Lesenswert?

super, das war der entscheidende Tipp ups
Aber irgendwie komme ich nie zum Schluss.
Jetzt kommt
Build started 28.9.2008 at 21:26:06
In file included from ../Projekt2.c:23:
c:/programme/winavr-20080610/lib/gcc/../../avr/include/util/delay.h:90:3 
:  warning: #warning "Compiler optimizations disabled; functions from 
<util/delay.h> won't work as designed"
make: *** No rule to make target 
`..//C/Programme/WinAVR-20080610/doc/avr-libc/examples/stdiodemo/hd44780 
.c',  needed by `hd44780.o'.  Stop.
Build failed with 1 errors and 1 warnings...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Kim Schmidt wrote:

> super, das war der entscheidende Tipp *ups*
> Aber irgendwie komme ich nie zum Schluss.
> Jetzt kommt
> Build started 28.9.2008 at 21:26:06
> In file included from ../Projekt2.c:23:
> c:/programme/winavr-20080610/lib/gcc/../../avr/include/util/delay.h:90:3 :
> warning: #warning "Compiler optimizations disabled; functions from
> <util/delay.h> won't work as designed"

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen_.28delay.h.29

> make: *** No rule to make target
`..//C/Programme/WinAVR-20080610/doc/avr-libc/examples/stdiodemo/hd44780 
.c',
> needed by `hd44780.o'.  Stop.
> Build failed with 1 errors and 1 warnings...

Ja, hast du diese Datei hd44780.c in dem Pfad 
C:\Programme\WinAVR-20080610\doc\avr-libc\examples\stdiodemo/ ? Und auch 
unter Source Files hinzugefügt?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.