Hallo GCC-Spezialisten,
bin AVR-GCC "Frischling" = Anfänger und versuche in C Fuß zu fassen.
Als Neuling versucht man natürlich gleich mit komplizierten Programmen
zu lernen.So ein Programm kompliziertes sieht dann so aus:
/****************
#include <stdio.h>
int main(void)
{
printf(“Hello world!\n”);
return 0;
}
/****************
Gleich Vorweg : Nach dem "make" scheint alles i.O (kein Fehler).
Meine Frage :
=============
Wo oder wie kann ich dieses "Hello world" auf meinem ´Bildschirm sehen
??
Habe nun einige Tage im Internet herumgestöbert um eine Antwort darauf
zu finden.Eine einzige hab ich gefunden :
"AVR Studio has a simulator that runs under Windows that can "run" the
output of avr-gcc."
Habe aber leider im AVR-Simulator keine Möglichkeit gefunden, die
Ausgabe von "printf" auf den Bildschirm umzuleiten.
Bevor ich wieder zu Assembler zurückgehe bitte ich daher um Eure Hilfe
!!
Noch zur Info : benutze AVR-GCC Version 4.3.0 (WinAVR 20080610)
AVR-Studio Version 4.15_b623
Danke für Eure Nachsicht (Frischling) und Eure Hilfe !
Liebe Grüße aus Wien.
> Wo oder wie kann ich dieses "Hello world" auf meinem ´Bildschirm sehen
Hast du denn an deinen AVR einen Bildschirm angeschlossen? Wohl eher
nicht.
printf schreibt nach C-Standard auf die Standard-Ausgabe. Bei einem PC
ist das eben der Bildschirm, bei einem Mikrocontroller ist das
üblicherweise der UART, also die serielle Schnittstelle. Wenn der µC
mehrere UARTs hat, ist es üblicherweise UART0.
Du müsstest also UART0 korrekt aktiviert und initialisiert haben, den
UART über einen RS232-Pegelwandler (z.B. MAX232) an die serielle
Schnittstelle deines PCs anschliessen und auf deinem PC ein geeignetes
Terminalprogramm mit den richtigen Schnittstelleneinstellungen laufen
haben, dann siehst du deine printf-Ausgabe auch auf dem PC-Monitor.
Solltest du ein alphanumerisches LCD an deinem µC haben, kannst du das
ebenfalls als Standardausgabe einrichten, du musst dann halt die Ausgabe
von printf durch entsprechenden Code auf das LCD umleiten.
Hallo Kobaltchlorid,
ist mir schon klar, daß AVR-Studio/AVR-GCC keine xyz.exe von meiner
xyz.c Datei erzeugt, die ich dann unter Windows oder DOS laufen lassen
kann !!
Ist mir auch klar, daß ich über einen UART/LCD mein "printf" anzeigen
lassen kann.
Habe nur nach einer Möglichkeit gefragt, ob es möglich ist, direkt unter
AVR-Studio oder mit irgend einem kryptischen Make-File-Command dieses
"Hello World!" auf meinem Bildschirm ankommen zu lassen.
Ich frage mich aber schon, wie ich ein Programm mit "printf" wirklich
testen kann.
Die einzige Möglichkeit ist es also, an dieses Progrämmchen eine
UART/LCD-Routine dazuzulinken, in den uC zu flashen und zu schauen, was
rauskommt??
Danke für Deine Zeit und Deine Mühe!
Liebe Grüße
Ibsimed1
Hallo Klugscheisser,
habe mir Hapsim erst einmal runtergesaugt.
Werde morgen die Software einmal testen.
Du siehst an der Uhrzeit, daß ich heute sicherlich nichts mehr beginne.
Berichte Euch gerne, wie´s funktioniert.
(Die Vollversion mit 170 US$ ist aber nicht gerade ein
Shareware-Preis!!)
Danke nochmals !
Hallo Klugscheisser,
sorry, hab da was durcheinander gebracht !!
Bin gerade am HAPSIM-Testen.Als Anfänger habe ich jetzt natürlich 2
Probleme :
1.) Verständnisprobleme mit C
2.) muß ich mich erst einmal mit HAPSIM vertraut machen.
Na ja, eins nach dem anderen.
Danke nochmals für Deinen Tip!
Liebe Grüße
Nicht umsonst gibt das "Standard Minimalprogramm" auf eine
Mikrocontroller eben nicht "hello world" aus, sondern lässt eine LED
blinken. Beispiele dafür gibts oben rechts im Tutorial.
"Hello world" bekommst du mit dem AVR und printf über die serielle
Schnittstelle auf ein daran angeschlossenes Terminal. Siehe dazu die
avrlibc-Doku.
Dazu brauchst du entweder die passende Hardware, also z.B. eine Max232
am AVR, daran einen PC mit Terminalprogramm, oder den passenden
Simulator, z.B. VMLAB. Letzteres ist freeware, aber leider nie ganz
fertig geworden. Trotzdem nicht schlecht.
Oliver
Hallo Oliver,hallo Klugscheisser,
o.k, hab`s begriffen !!
Ohne Hardware + UART-Code im uC kein "Hello World!"
Klugscheisser:
Das "HAPSIM" ist zwar nicht schlecht, um aber mein geliebtes "Hello
World!" am PC-Monitor auszugeben mus man den uC-internen UART trotzdem
coden.
Nochmals vielen Dank an alle, die sich die Mühe und die Zeit genommen
haben mein "Problem" zu lösen.
Liebe Grüße
Ibsimed1
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.