mehrere Variablen gleichzeitig empfangen (Arduino Nano/XBee)
hi. bin noch ziemlicher anfänger im bereich arduino.
für ein kleines projekt habe ich jetzt 2 arduino-nanos, auf jeweils einem board mit xbee.
nun möchte ich mehrere werte (eigentlich erstmal nur zwei) über funk übertragen. dabei handelt es sich jeweils um eine gerade zahl (von 0 - 200).
mit diesem code (den ich irgendwo im netz gefunden habe) klappt es soweit ganz gut. gesendet wird dabei zb. 10;50*
mein problem ist jetzt aber, dass sobald ich die anzeige (also die lcd.print - befehle) in einen anderen programmabschnitt auslagere, das ganze nicht mehr funktioniert.
das benötige ich aber, da diese werte nicht immer angezeigt werden sollen. woran liegt das?
und gibt es eine bessere/andere variante mehrere variablen gleichzeitig zu empfangen?
hab leider nichts richtiges im netz dazu gefunden...
vielen dank schonmal für eure antworten.
für ein kleines projekt habe ich jetzt 2 arduino-nanos, auf jeweils einem board mit xbee.
nun möchte ich mehrere werte (eigentlich erstmal nur zwei) über funk übertragen. dabei handelt es sich jeweils um eine gerade zahl (von 0 - 200).
mit diesem code (den ich irgendwo im netz gefunden habe) klappt es soweit ganz gut. gesendet wird dabei zb. 10;50*
code: [select]
#include <liquidcrystal.h>
liquidcrystal lcd(13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3);
char *zt = 0;
int ztb = 0;
char *zs = 0;
int zsb = 0;
char current = 0;
char data[15] = "";
int incount = 0;
bool linecomplete = false;
void setup()
{
lcd.begin(16, 2);
lcd.clear();
serial.begin(9600);
zt=0;
zs=0;
}
void loop() {
while ( (serial.available()) & (incount < 15) & (!linecomplete) )
{
current = serial.read();
if (current != 42)
{
data[incount] = current;
incount++;
}
else
{
data[incount] = '\0';
linecomplete = true;
}
}
if (linecomplete)
{
linecomplete = false;
incount = 0;
daten_auswerten();
}
else if (incount >=15)
{
incount = 0;
linecomplete = false;
}
}
void daten_auswerten()
{
zt = strtok (data, ";");
zs = strtok (null, "*");
ztb = atoi (zt);
zsb = atoi (zs);
lcd.setcursor(0,0);
lcd.print("wert1: ");
lcd.setcursor(10,0);
lcd.print(ztb, dec);
lcd.setcursor(0,1);
lcd.print("wert2: ");
lcd.setcursor(10,1);
lcd.print(zsb, dec);
}
mein problem ist jetzt aber, dass sobald ich die anzeige (also die lcd.print - befehle) in einen anderen programmabschnitt auslagere, das ganze nicht mehr funktioniert.
das benötige ich aber, da diese werte nicht immer angezeigt werden sollen. woran liegt das?
und gibt es eine bessere/andere variante mehrere variablen gleichzeitig zu empfangen?
hab leider nichts richtiges im netz dazu gefunden...
vielen dank schonmal für eure antworten.
2 infos bitte:
wie sieht der Übertragene string aus?
gibst du uns ein beispiel wie es ohne lcd.print nicht funktioniert.
grüße uwe
wie sieht der Übertragene string aus?
gibst du uns ein beispiel wie es ohne lcd.print nicht funktioniert.
grüße uwe
Arduino Forum > International > Deutsch (Moderator: uwefed) > mehrere Variablen gleichzeitig empfangen (Arduino Nano/XBee)
arduino
Comments
Post a Comment