Arduino: String to char Array

4

Obtengo un String como: XXXXXXXXX

Su longitud es fija y 9.

Necesito obtener una matriz de caracteres como:

char array[9] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

... a partir de ahí, en mi bosquejo, se procesa esta matriz.

Tal vez alguien tenga una idea sobre cómo lograr esto. Pensé en una declaración for para almacenar cada letra en una matriz de cadenas. Luego, otra instrucción for para construir una matriz de caracteres con la presentación hexadecimal de cada cadena. Aunque parece un poco complicado, creo.

Realmente aprecio tu ayuda.

EDIT:

Lo que necesito hacer:

  1. Separe la cadena en letras / figuras.
  2. Cambie cada letra a su representación HEX.
  3. Cree una matriz de caracteres a partir de los valores HEX.

Example:

  1. 123 (cadena)
  2. 0x310x320x33 (String o lo que sea ...)
  3. {0x31,0x32,0x33} (Char-Array)

Esto es lo que necesito!

    
pregunta DAS

3 respuestas

7

Suena como el siguiente string.toCharArray (buf, len) es lo que desea. como exampled

String stringOne = "123456789";
char charBuf[50];
stringOne.toCharArray(charBuf, 50) ;
Serial.println(stringOne);
for (int i = 0; i < 9; i++) {
  Serial.print(" 0x");
  Serial.print(charBuf[i], HEX);
}
Serial.println();

rendimientos:

123456789
0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39

ya que cada contenido de charBuf es un uint8_t, independientemente de cómo se imprima.

A menos que solicite que cada elemento de la matriz sea otra cadena de la representación ASCII del HEX. o está solicitando tener una matriz de caracteres de "0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39"

    
respondido por el mpflaga
2

Si su variable de cadena es de tipo Arduino, puede usar el método toCharArray () para obtener una matriz de caracteres.

char array[9];
yourString.toCharArray(array, 9);
    
respondido por el miceuz
0

Si tienes una cadena

Elemento de cadena="Hola";

AUX3 = item.charAt (0);

AUX3 es 0x48 en Hex, 72 en diciembre

 if (AUX3==72) {
    Answer1();   
 }
    
respondido por el Emiro Galvis

Lea otras preguntas en las etiquetas