Hallo Leute, versuch mein Projekt zu kompilieren, was leider nicht funktioniert. Das Problem ist bei "uart_puts( s );" und lautet "undefined reference to..." kann mir da jemand helfen? Hier der Code der C-Datei (Teil eines Gesamtprojektes) ------------- #include "../common/common.h" #include "sendData.h" #include <avr/io.h> #include <stdlib.h> #include "uart.h" void init_Send(){ DDRD |= (1 << PD1); //setze PD1 als Ausgang } void sendData(unsigned int data){ /*warte auf leeren Sendebuffer*/ while(!(UCSR0A & (1<<UDRE0))){ //USART Control and Register Status A & USART Data Register Empty } char s[17]; uint16_t i = data + 32256; itoa( i, s, 10 ); uart_puts( s ); } ------------- die headder uart.h sieht so aus: ------------- #ifndef UART_H #define UART_H #include "../common/common.h" void UART_Init(uint16_t BaudRate); #endif ------------- Danke im Vorraus Peter
Hallo Wo ist den deine Funktion uart_puts()? Gruß Joachim
Warnung oder Fehler? W: Kommt vom Compiler, irgendwo fehlt ein Header/Funktionsprototyp. F: Kommt vom Linker, passende "Bibliothek" (genaues Wort kenne ich nicht) zum Projekt hinzufügen (im Makefile oder irgendwo in der IDE)
cvvvvvvvvvvvvvvv schrieb: > F: Kommt vom Linker, passende "Bibliothek" (genaues Wort kenne ich > nicht) zum Projekt hinzufügen (im Makefile oder irgendwo in der IDE) (Oder die Funktion selber schreiben, ich dachte jetzt an eine fertige Funktion aus irgendeiner Library)
uart_puts() is doch ne Systemfunktion, die muss doch von mir nicht implementiert werden, oder?
Peter schrieb: > uart_puts() is doch ne Systemfunktion, > die muss doch von mir nicht implementiert werden, oder? falsch, denn wie sie allgemein gültig währe dann müssten man dort auch noch die Schnittstelle angeben können über die gesendet werden soll. Es können ja auch mehre UARTS vorhanden sein.
stimmt, da hast du recht. Aber wie mach ich das jetzt?
Peter schrieb: > Aber wie mach ich das jetzt? selber schreiben? Oder im Forum nach einer lib suchen.
Peter schrieb: > Aber wie mach ich das jetzt? Wie machst du was? Die Funktion schreiben? Wie jede andere Funktion auch unter Benutzung der Tastatur, welche Bits und Register man für den UART-Baustein braucht steht im Datenblatt des benutzten µC.
Peter schrieb: > Aber wie mach ich das jetzt? Genauso, wie du an den Rest des Codes gekommen bist: Einfach irgendwo runterladen, rauskopieren, oder abschreiben. Oliver
Ähhhm ja, noch viel Blöder gehts ja net. Is klar. Danke an alle die die Geduld hatten.. Fe Funktion schreiben... :p sollt ich als Informatiker gerade noch hinbekommen.
Peter schrieb: > noch viel Blöder gehts ja net. Ähem, manchmal ist es tatsächlich nicht verkehrt, das Rad nicht immer wieder neu zu erfinden. Fertige uart_puts und uart_putc für AVRs gibt es zu Hauf im Netz, daran kann man sich gut orientieren. Oliver P.S. Du hast mich aber schon richtig verstanden...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.