Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Buchstaben von COM verwerten Kategorie: Programmierung Basic (von xythobuz, Homepage - 2.02.2009 13:37)
 Als Antwort auf Re: Buchstaben von COM verwerten von Achim - 2.02.2009 0:07
xythobuz nutzt:  CC1-Unit V1.1
> > Ich habe an meine C-Control einen RFID Empfänger angeschlossen. Leider bestehen diese Codes aus Buchstaben und Zahlen, Beispiel "1F0044E882". Diese will ich für eine Zugangskontrolle nun mit ein paar IF's überprüfen. Meine Code-Idee dazu ist folgende:
>
> > input rfid
> > if rfid = 1F0044E882 then goto offnen
>  
> > Aber leider kann ich ja in den variablen nur Zahlen ablegen.
> > Wie kann ich das nun so deichseln, dass es funktioniert?
>
> Mit GET zeichenweise holen und den ASCII-Wert vergleichen. Wird leider etwas umständlich und vielleicht geht's mangels Variablen und / oder Verarbeitungsdauer gar nicht.
>
> define r1 byte
> GET r1
> if r1 = &H31 ... ' &H31 gleich 49 gleich "1"
> 'naechstes Zeichen
> GET r1
> if r1 = &H46 ... '&H46 gleich 70 gleich "F"
> ...
>
> HTH
>
> Bye
>   Achim


Okay, ich habs jetzt so gelöst:

#loop

GET r1
if r1 = &H31 then goto 2 else goto falsch ' &H31 gleich 49 gleich "1"
'naechstes Zeichen
#2
GET r1
if r1 = &H46 then goto 3 else goto falsch '&H46 gleich 70 gleich "F"
#3
GET r1
if r1 = &H30 then goto 4 else goto falsch
#4
GET r1
if r1 = &H30 then goto 5 else goto falsch
#5
GET r1
if r1 = &H34 then goto 6 else goto falsch
#6
GET r1
if r1 = &H34 then goto 7 else goto falsch
#7
GET r1
if r1 = &H45 then goto 8 else goto falsch
#8
GET r1
if r1 = &H38 then goto 9 else goto falsch
#9
GET r1
if r1 = &H38 then goto 10 else goto falsch
#10
GET r1
if r1 = &H32 then goto open else goto falsch
'----------------------------------------------------------------------
' UNTERPROGRAMME:
#falsch
gosub LCD_CLS
print "Falsch"
lcd_param = &H80
        lcd_buf = OFF
        gosub LCD_WRITE
        gosub Nachricht2
goto loop

#open
gosub LCD_CLS
print "Relais macht uff"
lcd_param = &H80
        lcd_buf = OFF
        gosub LCD_WRITE
        gosub Nachricht1
goto loop


Das funktioniert auch bei einer Karte, aber wie löse ich das mit ca. 60?

MfG
Thomas

Meine Homepage: http://xythobuz.dyndns.org/

 Antwort schreiben

Bisherige Antworten:

Re: Buchstaben von COM verwerten (von Achim - 5.02.2009 22:57)