printf Ausgabe beim Tasking V8.0 Die 2.

Gast #139886
Lesenswert?
• ▲
▼
Hallo Steffen,

Bei Keil ist printf standard auf den ASC0 gelegt.

Bei Tasking nicht, dort ist standard simulated I/O aktief.

Wenn Du die datei serio.c in dein Projekt einbindest, sollte
die printf ohne probleme auf die ASC0 gehen.
1. Die baudrate in serio.c ändern, standard ist 19200
2. Die clock freq. anpassen.
3. Nicht vegessen denn init_serio(); aufzurufen.

Bei tasking kannst Du auch ziemlich einfach mehrere ausgänge nehmen,
bei mir geht z.b. stdout zum LCD(SED1335), stdin kommt vom keyboard und
stderr geht zum externen UART.

wenn Du deine ausgaben "umleiten" möchtest brauchst Du nur einen neue
"putch" funktion zu schreiben.

Ich könnte die die genauere ablaufe von printf/scanf erklären, aber das
kostet einige zeilen.

Ich habe früher bei Tasking denn I/O libraries geschrieben.

Grüße Mark,
Gast #139887
Lesenswert?
• ▲
▼
Hallo Mark,

es ist ja richtig toll, das  "Mr. Tasking" persönlich im Forum
mitmischt ;-)

Also bessere Ansprechpartner gibt es wohl kaum. Fehlt nur noch Herr
Willert und die pls-Gurus.

Gruß
MyMeisle
#139888
Lesenswert?
• ▲
▼
Die Frage ist, was ist die Frage, zu der diese Antwort gehört ?


Wenn es um den Keil C51 geht, dann benutzt printf() die Routine
putchar() und die ist standardmäßig auf die UART im Polling-Mode
gelegt. D.h. printf() kann bei kleinen Baudraten schon etwas dauern.
Um die Ausgabe zu ändern, muß man ein eigenes putchar() schreiben.

Was die ASCO (American Society of Clinical Oncology) damit zu tun hat,
würde ich auch gerne wissen.


Peter
Gast #139889
Lesenswert?
• ▲
▼
Das ist eine Null, kein O.
Also keine Onkologen, allenfalls klinische Nihilisten*, wenn die sich
denn mit Null schrieben ;-)

(Vermutlich ist ASC0 die erste serielle Schnittstelle des Prozessors;
keine Ahnung, wie die bei dem genannt wird)



*) beim Lesen einiger Diskussionsbeiträge hier möchte man zu einem
werden; anwesende ausgenommen
Gast #139891
Lesenswert?
• ▲
▼
@Mark,

"Aber wegen einige nutzlose beträge habe ich eine neue thread
gemacht."


ich würde trotzdem im gleichen Thread antworten oder wenigstens den
Link zur Frage voranstellen.
Bin bestimmt nicht der einzige, der bei Deinem Posting nur lauter
Fragezeichen im Kopf hatte.


Und "nutzlose" Beiträge sind völlig normal, wenn man unpräzise fragt
und denkt, die anderen könnten einem in den Kopf sehen.

Auch ist es völlig normal, wenn jemand in Vermutung einer anderen CPU
(z.B. AVR) antwortet, weil man die CPU nicht nennt. Niemand kann
erwarten, daß jemand sämtliche Postings liest, um sich mühsam die
verstreuten Informationen zusammen zu suchen. In der Regel lesen viele
nur die Frage und die letzte Antwort gründlich.


Es gilt eben auch hier: "Wie man in den Wald hineinruft..." bzw.
übersetzt: "Wie man fragt, so die Antwort".

Da sollte man dann seine Lektion lernen, d.h. nicht passende Antworten
einfach übergehen und sich das nächste mal eben besser vorbereiten.


Die Leute, die hier antworten, tun es schließlich ohne Gegenwert und
sind keine gottähnlichen Wesen, d.h. sie haben das Recht, auch mal
falsch zu vermuten. Oder auch mal deftig darauf hinzuweisen, daß das
hier keine Rätsel-Ratesendung ist.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren