in deinem habe ich nirgenswo gefunden wo ich die daten übertrage halt mit 1, die variable bestimmen und dann den wert irg wie ka
Demnach scheint mein letztes Beispiel wohl nicht zu laufen...
Wenn das Herz involviert ist, steht die Logik außen vor! \/
in deinem habe ich nirgenswo gefunden wo ich die daten übertrage halt mit 1, die variable bestimmen und dann den wert irg wie ka
Hier ist ein kleines Programm welches 1 Zeichen empfängt und in einem String speichert. Im Hauptprogramm wird dieses Zeichen dann ausgewertet:
Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Dim Eingabe As String * 1 On URXC OnRxD Enable URXC Enable Interrupts Do If Eingabe = "1" Then Print "Zahl 1" Eingabe = "" End If Loop End Onrxd: Eingabe = Chr(udr) Return
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 kann gerade nich mehr programmieren "could not detect chip,auto program failed"
geht das mit zahlen genau so ? ja oder
Ja.
Siehst du doch in der If-Abfrage welches Zeichen ich auswerte.
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 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
Lesezeichen