- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 8 von 8

Thema: Pico Plug - Datenmüll?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    37
    Beiträge
    383

    Pico Plug - Datenmüll?

    Anzeige

    Powerstation Test
    Hallo!
    Hab mir für eine Funkverbindung zu meinem Bot eine Bluetooth KArte besorgt. Pico Plug heißt das. Funktioniert eigendlich ganz gut.

    Ich hab mir dazu ein Programm in VB geschrieben mit der MScomm Routine.

    Naja das Problem ist das ich bei Mscomm1_Oncomm die Daten die ankommen auslese und dann in eine Textbox schreibe.

    Funktioniert soweit.

    Jetzt hab ich bei jeder Oncomm Routine gesagt er soll schauen ob z.b "Spannung" gesendet wurde oder so.

    Das hat nicht funktioniert
    nachdem ich lange gerätselt habe, hab ich nach jedem einkommenden ONcomm ein * in die Textboc schreiben lassen.

    er empfängt kram wie:

    Sp*ann*ung
    oder
    S*pann*ung*
    Span*nu*ng

    Also das wort kommt zerhackt an?

    Ich weiß nicht woran das liegt.

    Habt ihr ne Idee?
    Mfg
    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    nen kumpel von mir hatte mal auch so ein problem, und zwar dann, wenn er eine rs232->usb-wandler einsetzte und nicht direkt an eine hardware-rs232 schnittstelle ging. das ganze liegt offenbar daran, dass bei USB die daten nicht byteweise, sondern in größeren paketen übertragen werden. bluetooth läuft ebenfalls paket- und nicht byteweise, sodass dein string in einzelteilen ankommt...

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    37
    Beiträge
    383
    Danke! Sowas dacht ich mir schon..


    na toll das macht die auswertung verdammt schwer ich kann mit MSComm1.RThreshold = 10 immer 10 zeichen einlesen aber dazu muss ich auch immer exakt 10 Zeichen senden..

    Mhh oder doch Easy Radio...

    MfG
    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    im fall des usb-wandlers bestand der vorteil, dass das sendende gerät (ein spezieles messgerät) immer noch diverse steuerzeichen vor und hinter den daten mitsendete. daher konnte man einfach die empfangenen daten hintereinader zu einem string zusammenpacken und dann anhand der steuerzeichen in die einzelteile zerlegen... das wäre eine lösungsmöglcihkeit...

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    37
    Beiträge
    383
    oder so.
    werd ma sehn was einfacher ist..

    Danke
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.06.2005
    Ort
    München
    Beiträge
    113
    @Ringo: Schreib nach jedem Messwert ein eindeutiges Endezeichen, z.B. '\n' (Return). Auf der Empfängerseite liest du Daten solange in einen Buffer ein, bis du dein Return findest. Dann kannst du den String in einem Rutsch parsen.

    Georg

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    37
    Beiträge
    383
    hm kennt da jemand nen guten Befehl?

    Ich hab's bislang immer so gemacht:
    AVR schickt eine Zahl
    VB schaut obs eine Zahl oder ein Wort ist
    wenn Zahl ab in eine Textbox (zahl)
    AVR schickt Wort (Spannung)
    VB schaut obs eine Zahl oder ein Wort ist
    wenn wort in Textbox (wort)

    Dann hab ich immer den Wert und halt Spannung gehabt und konnt das dann ganz easy wieder weiterverarbeiten!

    Jetzt ists komplizierter..
    Ich dachte jetzt an:
    AVR schickt "*" ; Zahl;"*";
    kommt also an : *100*
    Dann Spannung
    Kommt an *Spannung*
    Wie bekomm ich VB jetzt dazu wieder "Spannung" und "100" zu schreiben in eine Textbox für den Rest kann ich wieder meine alte Methode verwenden.

    Gibts da ein Befehl.. bin grad am suchen

    MfG
    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    37
    Beiträge
    383
    O.k habs hinbekommen!
    hier:
    Code:
    b = InStr(1, Me.Text1, "*")
    If b = 0 Then
    Else
    b = b + 1
    an = InStr(b, Me.Text1, "*")
    End If
    
    If an = 0 Then
    Else
    
    an = an - b
    
    Me.EmpText = Mid(Me.Text1, b, an)
    Me.Text1 = Me.EmpText
    Me.Zahl = Filter(Me.Text1, cNumbers, True)
    Me.EmpText = Filter(Me.Text1, cNumbers & cWhiteSpaces)
    Me.Text1 = ""
    
    End If
    Me.text1 kommt der kam vom Pico plug an
    Emp text ist nur ein zwischenbuffer
    dann werden die Zahlen schön in Zahl und me.emptext geschrieben

    jetzt muss ich nur noch beim ARV befehl das Print "*"; überall dazu schreiben

    Naja hauptsache es funst \/

    danke @ all
    Mfg
    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

Berechtigungen

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

Labornetzteil AliExpress