INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
String to uint8_t
10.12.2014, 20:58
Beitrag #1
String to uint8_t
Hallo,

ich bin auf der Suche nach einer Möglichkeit einen String in ein uint8_t[50] zu konvertieren (um diesem mit einem rf22 zu senden).

Leider bin ich bisher noch nicht fündig geworden.

Vielen Dank
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 06:33
Beitrag #2
RE: String to uint8_t
Hallo itsy,
meinst du mit String ein Objekt der String-Klasse wie
String str = "String" ,
oder einen String im Sinne eines Char-Array, wie
char[7]="String" bzw.
char[7]={'S' , 't' , 'r' , 'i' , 'n' , 'g'} ?

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 13:18
Beitrag #3
RE: String to uint8_t
Moin Ricardo,

also momentan ist es so, dass ich unterschiedliche Variablentypen habe und diese dann jeweils in ein Char-Array umwandel z.B.

char text[8]="";
dtostrf(floatvar,0,4,text);

Diese "texte" werden dann zu einem String datenString zusammengefasst, um diese auf eine SD-Karte zu schreiben.
Zusätzlich soll dann ein rfm22 die Daten als uint8_t (ist von der Lib vorgegeben) gesendet werden.

Vielen Dank
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 14:42
Beitrag #4
RE: String to uint8_t
Hi,
zeig mal die Funktion, mit der Du das senden willst. Vielleicht musst Du gar nicht konvertieren, sondern nur casten.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 14:53
Beitrag #5
RE: String to uint8_t
Hallo Thorsten,

ich nutze diese Lib: http://www.airspayce.com/mikem/arduino/RF22/index.html

Der originale Befehl ist rf22.send(data, sizeof(data));

Viele Grüße
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 15:31 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2014 15:32 von Thorsten Pferdekämper.)
Beitrag #6
RE: String to uint8_t
Hi,
also die Methode ist so deklariert:
Code:
boolean     send (const uint8_t *data, uint8_t len)
Dann müsstest Du tatsächlich so alles mögliche senden können:
Code:
rf22.send( (byte*)(&data), sizeof(data) );
Das geht für Arrays und Pointer natürlich schief, da geht's dann z.B. so:
Code:
char text[8]="";
dtostrf(floatvar,0,4,text);
rf22.send( (byte*)text, 8);   // das Array hat 8 Byte
Für allgemeine Arrays müsste es etwa so gehen:
Code:
irgendeindatentyp array[n];
rf22.send( (byte*)array, n * sizeof(array[0]));

Nichts davon ist getestet, aber so würde ich's anfangen.

Eins noch: Ich glaube uint8_t und byte ist dasselbe. Wenn jemand anderer Meinung ist (z.B. der Compiler), dann oben einfach "byte" durch "uint8_t" ersetzen.

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 18:31
Beitrag #7
RE: String to uint8_t
Zitat:Eins noch: Ich glaube uint8_t und byte ist dasselbe
Rischtisch... oder eben ein "unsigned char". Daher meine Frage oben.
So wie es aussieht sollte daher casten reichen.
Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.12.2014, 22:33
Beitrag #8
RE: String to uint8_t
super - habt vielen Dank!
Beim compilieren bekomme ich keine Fehler mehr :-)

Jetzt müssen nur noch die Transceiver kommen!

Viele Grüße
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String vergleichen georg01 15 844 18.07.2017 20:35
Letzter Beitrag: Tommy56
  String.charAt() ardun 3 350 02.07.2017 15:28
Letzter Beitrag: Tommy56
  Aus char string machen metzgefa 1 377 06.05.2017 15:15
Letzter Beitrag: Tommy56
  String übergeben oOSpikeOo 9 726 28.03.2017 19:47
Letzter Beitrag: georg01
  String in tinygps++ einlesen hoko 17 1.155 07.03.2017 15:40
Letzter Beitrag: hoko
  String -> Char *gelöst* Binatone 2 557 31.01.2017 11:08
Letzter Beitrag: Binatone
  ascii string to int array konvertieren renid55 3 628 29.12.2016 11:49
Letzter Beitrag: Tommy56
  String / HTTP Request Marc2014 4 677 23.12.2016 15:42
Letzter Beitrag: Tommy56
  String zusammensetzen Mathias 13 2.026 01.09.2016 21:15
Letzter Beitrag: Mathias
  String-Array füllen? torsten_156 9 1.432 08.07.2016 20:07
Letzter Beitrag: amithlon

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste