Forum: Mikrocontroller und Digitale Elektronik printf Probleme mit C18


von Monopoly (Gast)


Lesenswert?

Hallo

Ich hab in C18 ein Programm geschrieben und compiliert. Hat dann ohne 
Probleme funktioniert. Hab nun müssen Windows neu installieren und auch 
C18. Nach dem compilieren des selben SourceCodes läuft das Programm wie 
gehabt bis auf die Ausnahme, dass printf über USART ein Problem hat:

Im Programm werden verschiedene Strings ausgegeben. Jedesmal fügt printf 
immer 3 oder 3 Zeichen an. Z.B.:
1
unsigned char name[10]="Microchip";
2
printf("%s",name);

bringt die Ausgabe:

MicrochipÉ Hd

Die lästigen Anhägseln bleiben auch bei jeden Aufruf des selben strings 
gleich. Ich habe dann noch versucht, die Stellen zu begrenzen mit 
"%10s". Allerdings ohne Erfolg...

Hat jemand eine Idee?

von Benjamin S. (recycler)


Lesenswert?

Es scheint, als ob du hinten rausschreibst. Hänge mal ein \0 an zur 
Terminierung.
1
unsigned char name[10]="Microchip\0";
2
printf("%s", name);

von Monopoly (Gast)


Lesenswert?

nö, hat nix gebracht, Ergebnis wie gehabt.
Ich hab aber bemerkt, dass "%10s" überhaupt nichts bewirkt. Die 4 wird 
"überlesen", ganz egal was ich da schreib...4...5...

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
Noch kein Account? Hier anmelden.