ich habe gafragt ob es mit zahlen geht und du hast ja gesagt und sagst im nächsten satzt welches zeichen ich auswerte zeichen sind keine zahlen zeichen kann ich nicht in eine var laden und auswert und damit rechnen
ich habe gafragt ob es mit zahlen geht und du hast ja gesagt und sagst im nächsten satzt welches zeichen ich auswerte zeichen sind keine zahlen zeichen kann ich nicht in eine var laden und auswert und damit rechnen
Wenn Zahlen keine Zeichen sind wieso stehen die dann hier drin?:
http://www.asciitable.com/
Sowohl Zeichen als auch Zahlen bestehen aus Bits. Der Mikrocontroller weiß nicht ob ein Bitmuster eine Zahl oder ein Buchstabe ist.
Mal davon abgesehen rechnet man sehr wohl mit Buchstaben (Stichwort Hex-System).
Die If-Abfrage macht nichts anderes als das BITMUSTER was in der Variable steht (du erinnerst dich vielleicht, dass die ISR ein Zeichen empfängt. Ein Zeichen ist nichts anderes als ein Bitmuster) mit einem Bitmuster welches du vorgibst zu vergleichen.
Natürlich macht der Mikrocontroller einen Unterschied zwischen 0x01 (welches den Wert 1 darstellt und den Wert 0x31 welches der ASCII Wert für 1 ist).
Wenn du schreibst "If Variable = "1" then" wird der Inhalt der Variable mit dem ASCII-Code von der 1 verglichen. Sprich du tippst am Terminal ne 1 ein und dann wird die Bedingung erfüllt. Wenn du nun aber schreibst "If Variable = 1 then" wird der Hex-Wert(!) der Variable verglichen. Ist der Hex-Wert(!) = 1 dann wird der Befehl ausgeführt.
Beispiel:
Hex-Wert von der "1" auf der Tastatur ist 0x31.
Ein ASCII Zeichen mit dem Hex-Wert von 1 ist der Befehl "SOH"
Siehst du am besten in der ASCII Tabelle.
Das Programm was ich da gepostet habe vergleicht das was du an der Tastatur mittels Terminal an den µC senden willst. Wenn du nun einen Zahlenwert vergleichen willst (z.B. von nem Zähler) musst du "If Variable = (Wert)" schreiben.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
ja ok da haste recht aber ich komm damit nicht kla das ich die gesendeten daten in die var bekomme
Das macht doch die ISR.
Die speichert das empfangene Zeichen in nem String.
Den musst du nur noch auswerten....oder verstehe ich gerade dein Problem nicht?
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
ich habe 5 var muss sie erst bestimmern welche ich gerade bearbeite und dann den neuen wert hineinspeichern
wie kann ich 2 var vergleichen und unterschiede von +-5 eingeben also der soll sagen var 1 und 2 sind gleich auch wenn die +-5 abweichung haben also ~
Du machst eine If-Abfrage mit deinen Grenzen als Bedingung.
Sprich
Ergebnis = var1 - var 2
If Ergebnis > 5 Then
Print "Variable 1 ist um mehr als 5 größer als Variable 2"
elseif Ergebnis < -5
Print "Variable 2 ist um 5 größer als Variable 1"
else
Print "Variable 1 und 2 sind beinahe gleich"
End if
Ist ungetestet aber es soll nur das Prinzip verdeutlichen.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Lesezeichen