Probleme richtige Daten zu empfangen

Gast #6167358
Hallo

ich habe eine 8fach Relaiskarte von Conrad. Ich versuche gerade sie mit 
Python anzusteuern. Die einzelnen Relais können eingeschaltet werden. 
Die Relaiskarte sollte mir aber eine Antwort schicken: 252-Adr.-x-XOR
Ich empfange aber eine ganz andere Antwort.
Ich habe dann versucht mit hterm die Relaiskarte mit dem Code 3113 zu 
schalten. Es funktioniert aber nicht.

Das ist der Code:


        outval = value << number
        port = serial.Serial('/dev/ttyUSB'+str(i), 19200, timeout=1, 
xonxoff=0, rtscts=0)

        port.write('%c%c%c%c' % (chr(3), chr(1), chr(outval), 
chr(3^1^outval)))
        c=port.read(4)
        print c

Wäre dankbar falls jemand einen Tipp hat wieso die Antwort von der 
Relaiskarte nicht richtig ausgelesen werden kann.
Gast #6167396
Relais schrieb:
> wieso die Antwort von der
> Relaiskarte nicht richtig ausgelesen werden kann.

Was kommt denn raus?
Mit print wirst du wohl nicht weiterkommen. Lass dir die Antwort mal in 
hex ausgeben, das dürfte leserlicher sein.
Gast #6168552
Habe dieses Programm geschrieben. Es empfängt 0xfc aber bei der 
if-Bedingung kommt es immer in den else-Block
1
 outval = value << number
2
            port = serial.Serial('/dev/ttyUSB1', 19200, timeout=1, xonxoff=0, rtscts=0)
3
            print port.name
4
            print(port.is_open)
5
            port.write('%c%c%c%c' % (chr(3), chr(1), chr(outval), chr(3^1^outval)))
6
            c=port.read(1)
7
            print hex(ord(c))
8
            if c == 0xfc:
9
                print('OK')
10
            else:
11
                print('falsch')
12
            
13
            port.close()
Gast #6168592
Keine Ahnung von Python*), aber ich würde das versuchen:

if ord(c) == 0xfc:

*) Eine Sprache die Einrückungen als syntax betrachtet ist für mich 
kompletter Schwachsinn.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.