Español
Foro

Serielle Schnittstelle binäre Daten empfangen

 

Pedro
Miguel
Hallo,

Bis jetzt habe ich mit der serielle schnittstelle Texte empfangen. Habe nun ein neues Projekt
in der ich von eine elektronische Platine binäre Daten empfangen und sofort auswerten muss.
Die Auswertung sieht folgendes Masse aus. Es werden von der Platine kontienurlich 12 bis 16 Bytes
gesendet. Auf der Xprofan seite muss ich die Bytes empfangen und sofort die einzelnen Bits durch
TestBit auswerten um damit Led Graphiken als ON OFF anzuzeigen.
Die baurate ist 38400, 8 Bits, None, 1 Stopbit

Weiss jemand ob das mit Xprofan zu machen ist?

Danke für jede Unterstützung

Gruss
Pedro
 
30.10.2012  
 



Como XProfans Cuerdas binärsicher son gibts no hay diferencia zwischen Texto oder

Binärdaten auslesen por ReadCom$ -

simplemente ReadCom$ uso. Den Bytewert uno (Ansi-) Zeichens de una

XProfan-String simplemente z.B. por byte(addr$(cadena$),num&) auslesen.
KompilierenMarcaSeparación
'{$cleq}
cls
var s$="HALLO"
print byte(addr(s$),1),"= 65"
waitinput
en

Nach ähnlichem Verfahren lese Yo el Daten mobiler Barcode-Scanner de.
 
30.10.2012  
 




Pedro
Miguel
Hola si,

Gracias, voluntad lo al Wochenende testen

Von el Platine se z.b gesendet.

master = 254
destiny = 18
txcoma = 7
total = 1234

printbin master,destiny,total,txcoma

El Bytes y Words voluntad sin jeglichen Trenzeichen gesendet

Nach el Testen Me estoy dando Feedback y komme otra vez darauf zurück

Gruss
Pedro
 
30.10.2012  
 




GDL
Hallöle,

Aunque purer Anfängercode, aber él va en me en allen media Anlagen y Rechnern.

Das Problema es, dass du 2 Protokolle hast. Ein Protokoll encima el gültige Signo y una Protokoll en Zeichenfolge.
En me forma drei 255 y una 0 en Reihe el Beginn uno Datenprotokoll.
KompilierenMarcaSeparación
proc einlesen'BMelder Stellpulttaster

    'COM Schnittstelle auslesen
    'Schnittstelle wird am Proganfang geöffnet und erst am Progende geschlossen
    declare sync%,lb%
    settext _text&[12],"Einlesestatus  :  aktiv   "+time$(0)+"  "+left$(time$(1),5)\
    +"       Zeitwechsel ist ein Einlesevorgang."
    'Schnittstelle auslesen  3mal 255 und 1mal 0 hintereinander ist Sync
    'Empfangsprotokoll 255 255 255 0 Bahnhof Punkt Lok Auswahl Fehlerbyte
    'Auswahl
    '254 = Stellpult
    '253 = Geschwindigkeit
    '252 = Standardgeschwindigkeit bei Umschalten auf Grün anfordern
    'ja
    clear cstart%
    clear sync%
    clear lb%
    comwert$=@ReadCom$(comi1&,1)
    @ComError(comi1&)
    case str$(ord(comwert$))="255":inc sync%

    whilenot comwert$=""

        comwert$=@ReadCom$(comi1&,1)
        @ComError(comi1&)
        case str$(ord(comwert$))="255":inc sync%

        If str$(ord(comwert$))="0"'Beginn des Datenprotokolls

            ' Hat hier nichts mit Start,Stopbit zu tun, sondern ersetzt das Handshaking

            if sync%=3

                lb%=1' Die drei 255 Startbyte wurden beim folgendem Nullbyte erkannt

            else

                clear sync%
                clear cstart%
                clear lb%

            endif

        endif

        if lb% =1

            inc cstart%
            _inhalt%[cstart%]=ord(comwert$)

        endif

        if cstart% = 5

            clear cstart%
            clear sync%
            clear lb%
            'Fehlerbyte erzeugen
            'Fehlerbyte vergleichen
            'Bei Fehler _inhalt%[5]=0

            if _inhalt%[5]=253

                settext _text&[8],"Lok       : "+right$("00"+str$(_inhalt%[4]),3)
                auswerten1
                'Falls dieser BMelder etwas auslöst
                tasterbahnhof%=_inhalt%[2]
                tasterwert%=_inhalt%[3]
                tasterwert%=tasterwert%+(tasterbahnhof%*256)-256'Punkte gehen hier von 1 bis 999
                bm_auswerten

            elseif _inhalt%[5]=254

                settext _text&[8],"Taster    : "+right$("00"+str$(_inhalt%[3]),3)
                settext _text&[9],"Stellwerk : "+right$("00"+str$(_inhalt%[2]),3)
                tasterbahnhof%=_inhalt%[2]
                tasterwert%=_inhalt%[3]
                auswerten

            elseif _inhalt%[5]=252

                settext _text&[8],"Lok       : "+right$("00"+str$(_inhalt%[4]),3)
                real_speed

            endif

        wend


Tal vez kannst du dir qué abguggen. Como ya he dicho, todos sería una Profi determinado anders lösen.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
10.11.2012  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.811 Views

Untitledvor 0 min.
H.Brill26.09.2024
Langer04.01.2023
Walter08.02.2018
Pedro Miguel10.08.2015
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

Pedro Miguel (2x)
GDL (1x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie