mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio+WinAVR Bibliotheken / library


Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all,

ich habe bis jetzt nichts gefunden, wo ich mir eine lib (aktuell) 
herunterladen kann.
Ich wollte in meinem Programm printf verwenden da ich dies mit den oben 
erwähnten Programmen noch nicht gemacht habe wollte ich nun die stdio.h 
einbinden doch leider kann ich diese nicht finden.

Wenn ich mich noch recht erinnere benötige ich die stdio.h fur printf.

Kann mir jemand sagen wo ich diese downloaden kann.

DANKE

FRANZ

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry vergessen.

ATMega128

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Franz (Gast)

>ich habe bis jetzt nichts gefunden, wo ich mir eine lib (aktuell)
>herunterladen kann.

Wozu? Im WINAVR-Paket ist alles schon komplett drin.

>Ich wollte in meinem Programm printf verwenden da ich dies mit den oben
>erwähnten Programmen noch nicht gemacht habe wollte ich nun die stdio.h
>einbinden doch leider kann ich diese nicht finden.

Ist dabei, muss nur ggf. extra dazugelinkt werden. Einstellbar im 
AVR-Studio unter den Projektoptionen.

>Wenn ich mich noch recht erinnere benötige ich die stdio.h fur printf.

Einfach includen, dazulinken und nutzen.

MFG
Falk

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Brunner,

das ist ja das Problem, ich kann die stdio.h nicht finden.
Ich hab den WinAVR Ordner durchsucht jedoch ohne Erfolg die Datei ist 
nicht vorhanden. Daher suche ich diese, kann man die Lib's irgentwo 
downloaden?


Franz

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Franz (Gast)

>Ich hab den WinAVR Ordner durchsucht jedoch ohne Erfolg die Datei ist
>nicht vorhanden. Daher suche ich diese, kann man die Lib's irgentwo
>downloaden?

Warum machst du nicht einfach mal
#inlucde <stdio.h>

Und schaust was der Compiler dazu sagt?

MFG
Falk

Autor: Franz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Brunner,

wenn ich
#inlucde <stdio.h>
mache kommt eine Fehlermeldung, dass er die stdio.h nicht finden kann.
Ich habe die komplette Festplatte nach einer Datei stdio.h durchsucht 
und diese ist definitiv nicht vorhanden.

Zur Fehlermeldung siehe Anhang.

Franz

Autor: die ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normal sollte sie direkt im include-Ordner abgelegt sein. Jedenfalls ist 
sie dort bei meiner Installation.

Autor: Stefan B. (stefan) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Was passiert, wenn du die -I Option zum Setzen eines neuen Includepfades 
weglässt und dieses kleine Programm übersetzt?

#include <inttypes.h>
#include <stdio.h>

int main(void)
{
  uint16_t i;

  i = 23 * 42;
  return printf("%d", i);
}


Wenn dein WinAVR Includeverzeichnis nicht ähnlich wie oben im Bild 
aussieht, ist was mit der WinAVR-Installation schief gegangen. Ich würde 
dann (nur) WinAVR deinstallieren und neu installieren. Wichtig: Die 
Pfade zu WiNAVR müssen im Systempfad eingetragen sein (Bei mir in 
Autoexec.Bat: set PATH=d:\winavr\bin;d:\winavr\utils\bin;%PATH%). Bei 
Installationen vom WinAVR mit Leer- oder Sonderzeichen im Pfad kann ich 
mir auch Probleme vorstellen.

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all,

ich habe nach der INFO von ??? den WinAVR auf einem anderen Rechner 
installiert und dort ist die stdio.h enthalten.
Ich habe jetzt gesehen, dass noch einige andere .h Dateien fehlen.
Warum dies so ist ist mir selbst ein Rätsel.
Ich habe nun den gesamten avr ordner eingefügt und siehe dar der Fehler 
ist weg.

Der Fehler sitzt mal wieder vor dem Monitor!!! ;-)


Franz

PS: Danke an alle

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens ist die ".h Datei" nicht die Bibliothek, sondern quasi nur das 
Inhaltsverzeichnis der Bibliothek...

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all

@Simon:
Danke für die Richtigstellung.

Ich habe nun die stdio.h eingebunden.
#include<stdio.h>

int main(void)
{
/* ......    Initialisierung der Schnittstellen UART0 und UART1*/

printf("Hello World");

return 0;
}

Nun ist das Problem weder auf der einen noch auf der anderen 
Schnittstelle kommt etwas raus.

Schnittstellen werden initialisiert 9600Baud,8 Datenbits,EVEN Parity,1 
Start- und Stopbit.

Ich habe mit dieser Einstellung schon Daten transferiert jedoch nicht 
mit printf.

Muss ich irgentwo noch zuweisen an welche Schnittstelle geschickt werden 
muss wenn ich printf verwende.

Danke

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gehe zur avr-libc Online Doku
http://www.nongnu.org/avr-libc/user-manual/group__...

Und schau dir das erste Beispiel an, wie man die Ausgabe über UART an 
printf koppelt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.