Go Down

Topic: Aide Transmission de données RFM95 (Read 328 times) previous topic - next topic

Alex65

Bonjour à tous,

je tente de faire communiquer 2 arduino via les librairies RFM95.
ça fonctionne mais dès lors que je remplace les valeurs fixes de transmission, j'ai un message d'erreur:

invalid conversion from 'int8_t* {aka signed char*}' to 'const uint8_t*


Voici l'exemple de base qui fonctionne:
 uint8_t data[] = "Hello:";
rf95.send(data, sizeof(data));


J'ai ensuite voulu remplacer "Hello" par une variable contenant du texte mais impossible, je tombe sur l'erreur:
invalid conversion from 'int8_t* {aka signed char*}' to 'const uint8_t*


Mon objectif est de faire communiquer plusieurs "stations" avec une base. les données qui vont transiter seront donc de la forme:
"stationX-GPSLAT:XX.YY-GPSLONG:XX.Y-SENSOR1:XX-SENSOR2:YY"

pouvez vous m'aider à comprendre comment je dois coder celà. J'ai la sensation que le mieux serait de créer une structure et de transmettre un objetn type structure via le RFM, mais .... j'ai besoin d'un avis.

merci d'avance,
Alex

J-M-L

#1
Jun 10, 2017, 11:36 pm Last Edit: Jun 10, 2017, 11:38 pm by J-M-L
Bonsoir - Montrez nous le code que vous avez fait et qui bug....(on affecte une chaine constante dans un tableau comme initialisation parce que le compilateur sait faire, mais pas avec une variable)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Alex65

Ah zut... mais mon message va forcément varier...

voici le code correspondant. Pour le moment, je ne fais juste qu'enregistrer une chaine fixe dans un variable, mais a terme, la chaine sera mis à jour continuellement.

Code: [Select]

char message;
message = "Test"
uint8_t data[] = message;
rf95.send(data, sizeof(data));


du coup, j'ai l'erreur:

Code: [Select]

Arduino : 1.8.2 (Windows 7), Carte : "Arduino/Genuino Uno"

C:\Users\alex\Documents\Arduino\TRACKER\TRACKER.ino: In function 'void loop()':

C:\Users\alex\Documents\Arduino\TRACKER\TRACKER.ino:53:11: warning: invalid conversion from 'const char*' to 'char' [-fpermissive]

   message = "Test";

           ^

TRACKER:54: error: initializer fails to determine size of 'data'

   uint8_t data[] = message;

                    ^

TRACKER:54: error: array must be initialized with a brace-enclosed initializer

Plusieurs bibliothèque trouvées pour "SoftwareSerial.h"
Utilisé : C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
Non utilisé : C:\Program Files (x86)\Arduino\libraries\SoftwareSerial
exit status 1
initializer fails to determine size of 'data'

Go Up