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.
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.
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."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.