Forum: Mikrocontroller und Digitale Elektronik Arduino Anfänger RFM70


von Marc (Gast)


Lesenswert?

Hallo,

Ich habe mir mit dem Arduino eine kleine Wetterstation gebaut die über 
ein RFM70 Funkmodul Daten zu einem anderen Arduino sendet.

Jetzt möchte ich die Daten gerne auswerten.

Der Empfang funktioniert recht gut, über den Terminal vom Arduino kann 
ich auch alle Daten Empfangen. Nun meine Frage: wie kann ich den String 
in ein char Array schieben bzw. wenn ich eine Zahl bekomme in ein INT 
schieben ?

rfm70.cpp
/**
   uint8_t getBuffer(void)
 *  return pointer to the first element of the buffer
 **/
uint8_t* RFM70::getRcvBuffer(void) {
  return rcvBuffer;
}

und im Arduinofile lese ich es so aus:

void receiveEvent(void) {
  //print received data
  Serial.println((char*) rfm70.getRcvBuffer());
}

wie kann ich das was im rfm70.getRcvBuffer() steht in ein Array schieben 
?
bekomme die Daten so --> 21.5;22.6;22.2;22.0; die würde ich gerne 
speichern bzw bearbeiten.

Danke für euro Hilfe
(aja ich bin ein Koch und fange ein neues Hobby an ;) )

lg Marc

von hatge (Gast)


Lesenswert?

Ist deine Frage wie man allgemein ein Array beschreibt oder mit welcher 
Funktion man die Daten erlangt?

von Marc (Gast)


Lesenswert?

Ich kann die Daten direkt an die RS232 senden aber würde sie gerne 
bearbeiten bzw. nutzen.

if ( rfm70_str == "ledon" ) led=1;
if ( rfm70_str == "ledoff" ) led=0;

so ähnlich ...


lg

von Marc (Gast)


Lesenswert?

verwende diesen code

https://github.com/Jotschi/arduino-rfm70-library/blob/master/examples/simple_sender/simple_sender.ino

Am Ende wir der Buffer an die Rs232 gesendet , ich würde aber gerne den 
Buffer in ein Array haben .

lg

von Timmo H. (masterfx)


Lesenswert?

Vielleicht so...
1
main()
2
   uint8_t rcv_buf_tmp[33]={0}; //ein Zeichen mehr für Nullterminierung
3
4
   ....
5
   ....
6
   memcpy(rcv_buf_tmp, rfm70.getRcvBuffer(), 32);
7
8
   if(strcmp(rcv_buf_tmp, "ledon") == 0)
9
      LED_ON();
10
   else if(strcmp(rcv_buf_tmp, "ledoff") == 0)
11
      LED_OFF();
12
13
...
14
...
15
}

von Marc (Gast)


Lesenswert?

@Timmo H.

Genau so ! Danke !!!!

lg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.