Die im printf-Artikel von mikrocontroller.net beschriebene Methode einen eigenen Stream zu definieren funktioniert zwar, aber da es im Artikel selbst anscheinend nirgends erwähnt wird, möchte ich an dieser Stelle darauf hinweisen daß das kein portabler C-Code ist.
Das verwendete Makro "FDEV_SETUP_STREAM()" ist eine compiler- oder sogar plattformspezifische Erweiterung (soweit ich weiss gibt es das nicht im "normalen" GCC). Wenn man dieses Feature verwendet wird der geschriebene Code also mit keinem anderen Compiler und für kein anderes Zielsystem kompilierbar sein. Und im Gegensatz zu anderen plattformspezifischen Erweiterungen wie z.B. PROGMEM, ist dieses Makro in der stdio.h definiert, also scheint es auf den ersten Blick so als wäre es Teil des C Standards.
Das dürfte zwar für die meisten Hobbybastler nicht so wichtig sein, aber ich denke man sollte zumindest wissen worauf man sich einlässt.
Lesezeichen