Hallo Zusammen, ich versuche gerade einen Kette von Zeichen über eine Serielle Schnittstelle an ein Gerät zu senden. Dazu habe ich folgende Codes ausprobiert: 1. Versuch char gi[] = {0x02, 0x20, 0x21, 'G', 'I', '0', '1', 0x30, 0x36, 0x03}; . . . . Serial.println(gi); hier werden noch mehr Zeichen übertragen, welche von den Gerät vermutlich als falsch empfunden werden und deshalb antwortet das Gerät nicht. 2. Versuch String gi = {0x02, 0x20, 0x21, 'G', 'I', '0', '1', 0x30, 0x36, 0x03}; . . . . Serial.write(gi,10); hier kommt folgender Fehler: test_source:25: error: braces around initializer for non-aggregate type 'String' Es kann also meine Zeichenkette irgendwie nicht in den String übernommen werden. Was kann ich hier tun dass ich nur die 10 Zeichen über eine Serielle Schnittstelle bekomme? Vielen Dank
:
Verschoben durch User
Heiko schrieb: > hier werden noch mehr Zeichen übertragen, welche von den Gerät > vermutlich als falsch empfunden werden Um die Empfindungen des empfangenden Geräts nicht zu verletzen würde ich es mal versuchen mit
1 | Serial.print(gi); |
Vorher würde ich aber dann doch mal ein x-beliebiges C-Buch bemühen, und die grundlegenden Dinge über Strings in C nachlesen. Ein ganz wichtige Frage, die dabei zu klären ist, ist die, woran man in C das Ende eines Strings erkennt. Oliver
Nur zum Verständnis: 'G', 'I', '0', '1', 0x30, 0x36, Warum nimmst du das eine mal '0', und das andere mal 0x30 ? Verwirrt dich das nicht selber?
PittyJ schrieb: > Verwirrt dich das nicht selber? Wie sollte es ihn verwirren, wenn er nicht mal weiß was er da tut?
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.