-
        
+ Antworten
Ergebnis 1 bis 9 von 9

Thema: CControl als Schnittstelle ?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.02.2004
    Ort
    Baden-Württemberg
    Alter
    29
    Beiträge
    222

    CControl als Schnittstelle ?

    Hallo,

    ich würde gerne meinen PC, bzw Roboter um einige Schnittstellen erweitern. Ist es möglich, die CControl so zu programmieren, dass
    sie über die serielle Schnittstelle die Daten vom PC empfängt und
    entsprechend verarbeitet und automatisch immer die Daten an den
    PC zurückschickt.

    Das ganz soll dann verschlüsselt/zusammengefügt geschehen.

    ungefähr so:

    Es werden in der CControl 8 Digitale Ausgänge und 8 Digitale Eingänge definiert.

    ganz einfach konnte man das ja hintereinander schreiben, sprich so:

    v1 = 255 '# das sind die 8 digitalen ausgänge (Ausgang 1 entspricht 2^0, Ausgang 2 entspricht 2^1, ...)
    v2 = 255 '# Analoger Ausgang 1
    v3 = 255 '# Analoger Ausgang 2
    v4 = v1 xor v2 xor v3

    dann sendet man einfach:

    chr(v1) + chr(v2) + chr(v3) + chr(v4)

    Die CControl entschlüsselt das und sendet so was ähnliches für die Eingänge zurück. evtl so:

    v1 = 255 '# das sind die 8 digitalen Eingänge (Eingang 1 entspricht 2^0, Eingang 2 entspricht 2^1, ...)
    v2 = 255 '# Analoger Eingang 1
    vn = 255 '# Analoger Eingang n ....
    v9 = 255 '# Analoger Eingang 8
    v10 = v1 xor v2 xor ....

    dann sendet man einfach wieder:

    chr(v1) + chr(v2) + .......... + chr(v10)



    Wenn man dann was empfängt (egal PC oder CC) wird der XOR-Wert mit dem Rest überprüft. Stimmt das Ergebniss, sind keine Fehler unterlaufen, wenn es Fehlerhaft ist, wird es einfach ignoiert.

    Meint ihr das klappt?
    Oder gibts da bessere, elegantere Lösungen?

    Vielen Dank für eure Hilfe.

    nux.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    Das müsste gehen. Ne elegantere Lösung fällt mir auf die Schnelle nicht ein, weil diese hier ja schon zimlich kurz und sicher ist.
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.02.2004
    Ort
    Baden-Württemberg
    Alter
    29
    Beiträge
    222
    kann die CControl überhaupt XOR? kennt die den befehl?
    Würde so ein Programm möglich sein, ich kann ja nicht parallel arbeiten (Multitasking) sondern immer eine Sequenz abarbeiten.

    Also noch mehr Meinungen bitte.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Xor kennt sie nicht, aber das kannst ja aus AND, NAND, NOR und OR machen.
    einfach
    a1|a0|y
    0|0|0
    0|1|1
    1|0|1
    1|1|0
    => y = !a^b v a^!b

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    wenn das ^ "Hoch" bedeuten soll: Das kann die CC auch net...

    Mann müsste dann schreiben:

    a2=not a
    gosub hochrechnen
    y=a2
    b=not b
    gosub hochrechnen
    y=y or a2

    Edit: Hier muss nartürlich return hin.

    #hochrechnen
    for b=1 to 255
    a2=a2*not a
    next
    Edit2: Und hier auch...

    Das proggi hab ich grad schnell aus dem Ärmel geschüttelt, kann sein dass das net funtzt...
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    ^ bedeutet "Und" wenn ich recht informiert bin.
    v bedeutet "oder".

    ODer beides genau umgekehrt, aber glaube, das war schon richtig

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    26
    Beiträge
    1.187
    ^bedeutet Hoch, oder? Wenns AND ist, geht's doch einfach...
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.02.2004
    Ort
    Baden-Württemberg
    Alter
    29
    Beiträge
    222
    ^ = hoch
    v = "oder"
    umgedrehtes "v" = "und"
    <p align="center">+++ Lerne die Regeln, dann weißt du, wie man Sie richtig bricht +++</p>

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Dann versteh ich diese Aussge von djdune nicht:

    y = !a^b v a^!b
    Dachte:
    y = negiert(a)und(b) oder (a) und negiert(b)

    liegt warschinlich daran, dass man mit der Tastatur kein
    ^ und umgedrehtes v unterscheiden kann (gibt ja nur das ^)

+ Antworten

Berechtigungen

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