Ich bekomme immer einen Fehler wenn ich printf nutzen will.
z.b.
#define MICROCONTROLLER_T89C51RD2
#include <mcs51reg.h>
#include <stdio.h>
void main (void)
{
printf("Halli hallo");
while(1);
}
fehlermeldung im anhang.
vll kann mir jmd sagen was ich falsch mache.
Achso habe ein AT 89C51 ED2 :)
Gast
#505109
Wow, Fehlermeldungstext als JPEG. Auch mal ne nette Idee. Wo erwartest du die Ausgabe von printf denn? Wenn es wie bei der avr-libc ist, mußt du erst einmal eine Funktion implementieren, die ein Zeichen dort, wo du es haben willst, ausgibt. Die wird dann von printf genutzt. Mehr sollte die Doku deiner libc enthalten.
Ich nutze als IDE Mide und als Compiler SDCC. Der fehler läßt sich nicht kopieren, und ein screenshot ist leichter als abtippen. Die Daten sollen über dier serielle schnittstelle an das terminal-programm gesendet werden, bei meinem alten uC ging das einfach so.
keiner eine idee?
auf einem µC ein printf? was soll das für einen sinn haben?
Gast
#505217
Die Fehlermeldung sagt es doch: putchar ist undefiniert. Du musst eine Funktion definieren, die dann das Zeichen auf der Schnittstelle ausgibt. Eine Google-Suche nach SDCC printf ergibt gleich als ersten Treffer: http://www.pjrc.com/tech/8051/tools/win32_install.html: "The putchar() function required for printf is NOT provided in SDCC's libraries (this may change someday). You must write a putchar function."
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.