- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 25

Thema: Unterprogramme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.03.2012
    Beiträge
    80
    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

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    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

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.03.2012
    Beiträge
    80
    ja ok da haste recht aber ich komm damit nicht kla das ich die gesendeten daten in die var bekomme

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    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

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    22.03.2012
    Beiträge
    80
    ich habe 5 var muss sie erst bestimmern welche ich gerade bearbeite und dann den neuen wert hineinspeichern

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    22.03.2012
    Beiträge
    80
    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 ~

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    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

Ähnliche Themen

  1. Unterprogramme in C?
    Von Mindhunter im Forum Software, Algorithmen und KI
    Antworten: 8
    Letzter Beitrag: 01.10.2010, 09:47
  2. Problem: Unterprogramme mit Nullstellensuche
    Von wodka_cheery im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 11.12.2007, 21:34
  3. unterprogramme machen
    Von drunkenmunky im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 09.04.2006, 16:45
  4. Externe Unterprogramme im AVR Studio
    Von kaisobczak im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 27.04.2005, 12:58
  5. zwei Unterprogramme sollen zur gleichen Zeit laufen
    Von Gast im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 7
    Letzter Beitrag: 30.03.2004, 13:40

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests