Re: Problemas con char y char*

Si se trata de un puntero a cadena char (declarada, por ejemplo, como char *texto), se puede recorrer así:

while(*texto != '\0')
Serial.print(*texto++);

Aupi, el problema esque con Serial.print(buf) va perfecto en el serial monitor pero buf es un char y al lcd le tengo que pasar en char *string y no se como hacerlo.
SAludos.

Serial.print(buf);

En un array de caracteres (buf[]) buf se refiere al puntero a la primera posicion.

Pofenas no te he entendido muy bien lo que querias decir, el problema lo tengo con

lcd.LCD_3310_write_string(0, 0,buf*, MENU_NORMAL);*
que me suelta esto:
error: invalid conversion from 'char' to 'char*'
error: initializing argument 3 of 'void LCD_3310_write_string(unsigned char, unsigned char, char*, char)'
En la consola me va bien Serial.print(buf_); pero buf en el lcd no.
He probao con
*_</em> <em><em>*int16_t c;  while ((c = file.read()) > 0){    Serial.print((char)c);    lcd.LCD_3310_write_string(0, 0,(char)c, MENU_NORMAL);  }*</em></em> <em>_*
pero me sale el mismo error
error: invalid conversion from 'char' to 'char*'
Me esta trayendo de cabeza._

Estás pasando un carácter cada vez, y la función necesita una cadena entera acabada en '\0'. Creo que primero debes llenar el string completo con el while() , y luego pasarle a lcd.LCD_3310_write_string() el puntero a ese string.

  char texto[33]  // suponiendo que no habrá mensaje más largo
  int n;

  int16_t c;

  n = 0;
  while ((c = file.read()) > 0)
  {
      texto[n++] = c;
  }
  texto[n] = '\0'; 
  
  // y ahora puedes pasar el puntero char a la función
    lcd.LCD_3310_write_string(0, 0, &texto[0], MENU_NORMAL);
  }

curro92 eso era si señor, por eso me salian caracteres raros cuando probe algo parecido.

Ahora el problema esque me imprime todo y los saltos de linea de forma rara, me gustaria que me separase cada linea y convertir las cadenas de texto en array para manejarlos con un joystick a trves de los punteros, pero no se como separar el texto en cada salto o "/n", seria lago como explode en php pero en c ni idea.

Ya he conseguido cortar por cada salto de linea la primera palabra, vamos progresando, si tengo mas problemas os digo.