Problem beim Compilieren mit "uart_puts()"

Gast #2176003
Lesenswert?
• ▲
▼
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
Gast #2176015
Lesenswert?
• ▲
▼
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)
Gast #2176024
Lesenswert?
• ▲
▼
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.
Gast #2176852
Lesenswert?
• ▲
▼
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...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.