Bonjour, j'ai besoin d'un petit coup de main pour convertir une variable.
je recois par radio un array contenant un string, je peux l'afficher avec =
#include <VirtualWire.h> // inclusion de la librairie VirtualWire
//pin de rx = 11 par default
uint8_t buf[VW_MAX_MESSAGE_LEN]; // Tableau qui va contenir le message recu (de taille maximum VW_MAX_MESSAGE_LEN)
uint8_t buflen = VW_MAX_MESSAGE_LEN; // Taille maximum de notre tableau
#include <LCD4884.h>
// LCD_RST pin 6
// SPI_CS pin 5
// SPI_MOSI pin 3
// SPI_SCK pin 2
// LCD_DC pin 4
// LCD_BL pin 7
String text;
void setup()
{
Serial.begin(9600);
lcd.LCD_init(); // creates instance of LCD
lcd.LCD_write_string(0,0,"LCD OK",0);
delay(2000);
lcd.LCD_clear(); // blanks the display
pinMode(7, OUTPUT);
vw_set_ptt_inverted(true);//necessaire au reto ecl du lcd shield
vw_setup(2000); // initialisation de la librairie VirtualWire à 2000 bauds (note: je n'utilise pas la broche PTT)
vw_rx_start(); // Activation de la partie réception de la librairie VirtualWire
}
//##############################################################################
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // On copie le message, qu'il soit corrompu ou non
{
lcd.LCD_clear();
int i;
lcd.LCD_write_string(0,0,"RX=>",0);
lcd.LCD_set_XY(0,1);
for (i = 0; i < buflen; i++) // Si il n'est pas corrompu on l'affiche via Serial
{
lcd.LCD_write_char(buf,0);
text= buf;
Serial.print (text);
}
Serial.println ("");
affiche_text();
}
}
void affiche_text()
{
Serial.println (text);
}
mais apres je n'arrive pas a "sauver" cette chaine pour la manipuler avec "substring()" ou
"startsWith()"
Je dois me planter quelque part, mais ou ?
La fonction affiche_text() ne m'affiche que le dernier char de l'array! Or c'est ici que je voudrais manipuer ma chaine
