Forum: Compiler & IDEs charakter ausgeben


von Daniel (Gast)


Lesenswert?

also ich bin blutiger anfänger mit µC deshalb habe ich hier 
wahrscheinlich eine ganz banale frage und zwar möchte ich auf einem 8 
bit datenport z.B ein "V" ausgeben.
Dies regel ich so.

outp(0x58,PORTB);  <-- dies funktioniert

outp("V",PORTB);  <-- aber warum das nicht?

wie gesagt ist wahrscheinlich ganz banal aber ich rall es im moment nich 
so richtig.....

von Florian (Gast)


Lesenswert?

probier mal: outp('V',PORTB);

von Daniel (Gast)


Lesenswert?

hey super DANKE..:D

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

"V"
ist ein String und entspricht
    'V',0
Ein String wird immer mir einer 0 abgeschlossen.

von Daniel (Gast)


Lesenswert?

aber das sollte dann doch egal sein ob das so "V" oder 'V' eigeben 
ist...dann steht hinter meinem Charakter bei der ersten version eben 
eine null...darf doch normaler weise nix ausmachen...
zumal ich bei einem längeren string wieder "" benutzten muss.

von Jonas Diemer (Gast)


Lesenswert?

"V" wird als

char* aufs erste zeichen interpretiert. outp will aber ein char, kein 
char*.

von Daniel (Gast)


Lesenswert?

..ok..habs geschallt..:D...thx

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Was du mit "V" bekommst, ist ein Zeiger auf ein Array/eine 
Speicherstelle mit dem Inhalt 'V', 0. Funtionieren würde also
    outp("V"[0],PORTB)
was aber natürlich ziemlich sinnfrei wäre ;-)

Gruß
Andreas

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.