Visual Basic 6- Probleme mit der seriellen Schnittstelle-

Im Unterforum Off-Topic - Beschreibung: Alles andere was nirgendwo reinpasst

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 28 11 2024  06:01:02      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Off-Topic        Off-Topic : Alles andere was nirgendwo reinpasst


Autor
Visual Basic 6- Probleme mit der seriellen Schnittstelle-

    







BID = 536756

Endhülse

Neu hier



Beiträge: 38
Wohnort: Nms
 

  


Hallo.
Ich sende von meiner C-Control Daten an meinen Pc.
Wenn ich ein Byte sende verarbeite ich es in VB6.
Also: 1Byte (byteport[1])-> 8 Schaltzustände, zB Schalter (1-8)
Schalteränderungen werden sofort am Bildschirm angezeigt, das klappt.

Wenn ich nun ein zweites Byte(byteport[2]) sende um weitere 8 Schaltzustände, zB LED (9-16) zu erhalten, taucht mein Problem auf.

Die Daten des 2ten Bytes überschreiben die Werte des ersten Bytes.

mein Problem: Die Daten die von MScomm1.input kommen, müssen in zwei Variablen geschrieben werden.

Wie wird das programmiert?


Tipps, Links, Codes...
ich bin für alles dankbar

BID = 536769

HeinzVogel

Schreibmaschine

Beiträge: 1580
Wohnort: Welt

 

  

wo problem:

  • variablen definieren
  • werte einlesen
  • weiterverarbeiten


poste doch mal das was du bisher hast, dann ist das ganze auch nachvollziehbarer

_________________
Nein, Frau Bundeskanzlerin. Dezidiert Nein.

BID = 536779

Endhülse

Neu hier



Beiträge: 38
Wohnort: Nms

Hier ein wenig Code.
Mit diesem Code kann ich das erste Byte auslesen (Variable Buffer).
Dann wandle ich das Byte in Bits um und zeige diese in VB an.
Wenn sich das Byte ändern sollte (Schalter an/aus)wird es sofort angezeigt.
Soweit so gut.

Nun kommt aber das zweite Byte (Ausgänge: Bit 9-16)
welches das erste Byte überschreibt... (kann man mit folgen?????)
Also brauche ich doch eine 2te Variable -> Buffer2 <- ,richtig!?



Public Sub MSComm1_OnComm()

Dim Buffer As Byte 'Gesendeter Wert

Dim Wert As String



Select Case MSComm1.CommEvent

Case comOverrun
MsgBox "Overrun"

Case comRxOver
MsgBox "RxOver"

Case comEvReceive




'Auswertung

Buffer = Asc(MSComm1.Input) 'Werte von der CControl in ASC umwandeln




''''''''''''''''''''''''''''''''''''''''''''''''
ByteWert = Buffer

Dim NoNull As Boolean 'Byte lesen
Text5.Text = GetBits(Val(ByteWert), NoNull, 16, BTT)
Text6.Text = Buffer 'KONTROLLANZEIGE
'''''''''''''''''''''''''''''''''''''''''''''''''''





'Eingänge auslesen und anzeigen

txt01.Text = Right(Text5, 1)
txt02.Text = Mid(Text5, 7, 1)
txt03.Text = Mid(Text5, 6, 1)
txt04.Text = Mid(Text5, 5, 1)
txt05.Text = Mid(Text5, 4, 1)
txt06.Text = Mid(Text5, 3, 1)
txt07.Text = Mid(Text5, 2, 1)
txt08.Text = Mid(Text5, 1, 1)


'Ausgänge auslesen und anzeigen

txt09.Text = Right(Text5, 1)
txt10.Text = Mid(Text5, 7, 1)
txt11.Text = Mid(Text5, 6, 1)
txt12.Text = Mid(Text5, 5, 1)
txt13.Text = Mid(Text5, 4, 1)
txt14.Text = Mid(Text5, 3, 1)
txt15.Text = Mid(Text5, 2, 1)
txt16.Text = Mid(Text5, 1, 1)


End Select



BID = 536807

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Mit deinem Kode kann man leider nicht sonderlich viel anfangen.

Normalerweise schickt man, wenn man nicht nur ein Byte schickt, nicht einfach beide Bytes nacheinander, sondern verpackt sie in ein Paket. Da gibts dann ein Startbyte, ein Stoppbyte und ggf. eine Prüfsumme oder ähnliches. Sodass das auswertende Programm die Daten auch richtig zuordnen kann.

Nun, da du asynchron arbeitest, und schon jedes ankommende Byte ein Event auslöst, musst du dir, z.B. statisch merken, was als nächstes zu tun ist.

Oder, du stellst die Schwelle zum Auslösen des Receiver-Events auf 2 Byte ein. Wenn du Glück hast, steht dort an der ersten Position auch das zuerst gesendete Byte - das muss aber nicht so sein. Damit die Daten dennoch richtig zugeordnet werden können, musst du dir ein entsprechendes Protokoll ausdenken. Das kann rein softwaretechnisch sein, oder du nutzt noch handshakeleitungen dazu.

_________________


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 182415961   Heute : 458    Gestern : 7490    Online : 286        28.11.2024    6:01
0 Besucher in den letzten 60 Sekunden         ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0504419803619