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++);
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.