Hallo zusammen!! Ich bin auf ein Problem gestoßen dass ich nicht lösen kann oder ich verstehe es nicht richtig: Ich möchte aus meinem PC-Programm (geschrieben in C) über die RS232 einen String mit 10 Bytes an einen Mikrocontroller senden. Klappt auch wunderbar bis jetzt. Nun möchte ich in diesem String (an beliebiger Stelle) ein Byte senden, in dem alle Bits "0" sind, also im prinzip das ASCII-Zeichen "NUL". Das klappt leider nicht so recht... Frage: wie kann ich das Zeichen NUL in C darstellen? Wie bekomme ich z.B. in den string[20] an den Index [4] das zeichen NUL? ich wäre um jeden Tip sehr dankbar!!! Grüße Dennis.
Soll es sich um das Zeichen für Null (Ziffer Null - 48dezimal bzw. 30hex) oder die logische Null (0hex) sein? Im letzen Fall wird das ein Problem mit deinem String. In C wird der String mit logische Null abgeschlossen und damit das Ende gekennzeichnet. Möglichkeit wäre ein Array statt String verwenden. Dem Array dann einfach Null zuweisen. z.B. Array[4] = 0x00; oder Array[4] = '\0';
Du musst dir nur vorher die Länge des Strings (implementiert durch char[]) merken, dann kannst du beliebige zeichen auf NUL setzten (mit s[20] = 0), und nachher senden. Übergeben tust du als Länge die, die du dir vorher gespeichert hast (z.b mit strlen oder sonst wie falls errechenbar)
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.