
Zitat von
Blue72
Also mir geht es in erster Linie darum, Code wie diesen hier:
Code:
printf('Ei-Pod\n');
einfach auch optisch anzuzeigen, da ich bei C wirklich bei absolut 0 anfange.
Diese Komfortfunktion von Bascom gibt's in C so nicht.
Was Du machen kannst, um z.B. die Ausgabe von printf im AVR-Studio4 zu überprüfen, ist einen Data Breakpoint auf das UDR Deiner Wahl zu setzen und zwar auf die Basis-Adresse.
Bei einem ATMega16 ist das für das einzige UART die Adresse 0x0C, der Breakpoint muss also lauten:
Break when:
Location is accessed
Location:
IO@0x2C
Per F5 kannst Du durch die einzelnen ausgegebenen Zeichen durchgehen.
Unter AVR-Studio4 gibt's auch noch unter Debug-->AVR Simulator Options-->Stimuli and logging die Möglichkeit Änderungen auf einem bestimmten Port zu registrieren, diese anzuzeigen und in ein File zu loggen.
Wenn Du nun stdout umleiten würdest: Die_Nutzung_von_sprintf_und_printf und dort die Zeichenausgabefunktion änderst, d.h. statt das UART auf den Port ausgibst,
Code:
int uart_putchar( char c, FILE *stream )
{
PORTA = c;
return 0;
}
dann siehst Du das Ausgegebene (bei Output-->To screen) und kannst es auch in eine Datei schreiben, zwar nur in Dezimal ASCII, aber immerhin.
Nachtrag:
Gerade bemerkt, AVR-Studio4 merkt sich das Logging nicht in den Projekteinstellungen, das muss also nach jedem Start des Studios neu eingetragen werden.
Und schreib' Anführungszeichen statt Hochkomma, sonst wird das nix:
Code:
printf('Ei-Pod\n');
Lesezeichen