- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Daten senden/empfangen

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    Anzeige

    Praxistest und DIY Projekte
    ne versteh ich nicht.
    und da mit irgendwelchen strings und asciis rumzumachen versteh ich auch nicht.

    erklär doch mal bitte in welcher form der sensor daten schickt. als byte? also werte zwischen 0 und 255 ? oder mehr? oder weniger?

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    09.11.2006
    Ort
    Köln
    Beiträge
    19
    Vom Sensor bekomm ich die Daten als word, sind werte wie z.B. 350....wenn ich die dann an den zweiten Controller schicke, empfängt dieser die 350 als ASCII (51534.
    Mein Problem ist aber, dass ich drei verschieden Werte vom Sensor bekomme (x-Richtung, y-Richtung und z-Richtung). Jetzt muss der Empfänger natürlich wissen, welcher Wert für x steht, welcher für y..., sonst kann ich nichts damit anfangen. Deshalb werden die Werte vor dem Versenden mit einem Buchstaben gekennzeichnet. Das funktioniert ja auch, aber ich bekomme sie am Empfänger halt nicht wieder auseinander....

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97
    Mach mal

    Sender: Hallo empfänger
    Empfänger: servus sender kann los gehen

    sender: ok geht los Word1; word2; word3;..... hast dus
    Empfänger: alles empfangen warte auf was neues tschau

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    nunja, nach x und y abfragen ist keine kunst,
    wenn zeichen = "x" dann alle nachfolgenden Zeichen sollen
    X-Werte sein.
    Den ASCII in die Zahl wieder zurückverwandeln ist an sich ne einfache Sache.
    Du speicherst die Zahlen der Reihe nach z.B. in einen String.

    String=string+chr(zeichen)
    So werden die aneinander gereiht.
    Nun musste nurnoch rausfinden wie lang dein string ist,
    dafür gibts ne Funktion namens Len(String)
    z.B. für 350 währ dann len 3.
    dann holste Dir per left und right die einzelnen zeichen und wandelst
    die in ASCII um, also der reihe nach 51, 53, 48
    Dann gehste hin und ziehst von jedem ASCII-Wert 48 ab:
    51-48=3
    53-48=5
    48-48=0
    Nun wirds knifflig. Die jeweiligen Werte musste mit der Zehnerpotenz der Stelle von hinten her multiplizieren und die addieren:
    also (0 * 10^0) + (5*10^1) + (3 * 10^2) =350 als Dezimalwert.

    Ich weiß, der Ablauf ist insgesamt von hinten durchs Knie und umständlich,
    mit Overlayvars und Rinpuffer gings schöner, aber ich find so ists für nen
    Anfänger vermutlich einfacher und übersichtlicher zu verstehen wie ein Protokoll in den
    Grundzügen laufen kann.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97
    probiers mal anders

    nimste ne case her und schickst diese

    wenn zeichen = "Y" dann a=1
    wenn zeichen = "Z" dann a=2

    das a schickste mit denn anderen words dann weg und mit case a wertest es wieder aus wie dus brauchst

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    09.11.2006
    Ort
    Köln
    Beiträge
    19
    Hallo zusammen,
    entschuldigung dass ich mich erst so spät wieder melde, aber die Feiertage...

    Habe mittlerweile folgenden Code zum Empfangen und Trennen der Daten gebastelt:
    Code:
    Daten = Waitkey()
          If Daten = "x" Then
             X_1 = Waitkey()
             X_2 = Waitkey()
             X_3 = Waitkey()
             X = X_1 + X_2 + X_3
    Damit funktioniert es auch in etwa. Das Problem ist aber, dass die beiden Controller nach kurzer Zeit hängen bleiben.
    Da von beiden Controller Werte gesendet und wie oben beschrieben empfangen werden, liegt das Problem wahrscheinlich darin, dass sich die Schleifen überlagern und beide Controller auf empfangene Daten warten. Kann das sein? Was kann man dagegen machen?

    Gruß Matthias

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad