Hallo,
ich brauche mal ein paar mehr Augen. Ich bin dabei mir eine Bib für den
HD44780 zu schreiben. Das klappt soweit ganz gut, nur ein kleines
Problem taucht auf:
Error implicit declaration of function 'lcd_command'
[-Werror=implicit-function-declaration] 61
Message previous implicit declaration of 'lcd_command' was here
61
Warning no previous prototype for 'lcd_command'
[-Wmissing-prototypes] 131
Vielleicht ist es banal aber ich steh hier scheinbar auf dem Schlauch.
Normalerweise sagt das doch aus, dass die Funktion vor ihrem Aufruf
nicht bekannt ist. Ich habe sie aber im headerfile bekannt gemacht.
Warum kappiert der das nicht? Wo steckt denn hier der Fehler?
1 | #ifndef HD44780_H_
|
2 | #define HD44780_H_
|
3 |
|
4 |
|
5 | void lcd_init(void); //Initialisieren
|
6 | void lcd_clear(void); //Displayinhalt löschen
|
7 | void lcd_entry(bool increment, bool shift); //Eingabemodus einstellen (increment - rückt nach eingabe ein Zeichen weiter; shift - dynamischer Text)
|
8 | void lcd_display(bool display, bool cursor, bool blink); //Displaymodus einstellen (display - schaltet Display an und aus; curser - zeigt den Cursor; blink - Cursorblinken)
|
9 | void lcd_enable(void); //Anliegende Daten senden
|
10 | void lcd_write(char x); //Ein Zeichen senden
|
11 | void lcd_command(uint8_t command); //Befehl geben
|
12 | void lcd_text(char text[]); //Einen Text senden
|
13 | void lcd_set_cursor(int zeile, int zeichen); //Curserposition setzen
|
14 |
|
15 |
|
16 | #endif /* HD44780_H_ */
|
HD44780.c
1 | #include <asf.h>
|
2 | #include <avr/io.h>
|
3 | #include <header.h>
|
4 | #include <util/delay.h>
|
5 | #include <HD44780.h>
|
6 |
|
7 | ...
|
8 |
|
9 | void lcd_clear(void){
|
10 | lcd_command(0x01); //Zeile 61
|
11 | }
|
12 |
|
13 | ...
|
14 |
|
15 | void lcd_command(uint8_t command){ //Zeile 131
|
16 | ...
|
17 | }
|
18 |
|
19 | ...
|