-         
+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Schleife mit "word" variable...

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2004
    Alter
    33
    Beiträge
    21

    Schleife mit "word" variable...

    Guten Tag!
    Ich habe ein Problem mit einer Schleife:

    define n word
    define x word
    ...
    for n = 1 to x step 1
    ...
    next n

    dabei ist n und x eine word variable, da die Schleife mehr als 255 mal wiederholt werden muss. Aber der Mikrocontroller hängt sich anscheinend auf und verlässt die Schleife nicht mehr (in meinem Fall stoppt, ein damit angsteuerter Schrittmotor, nicht mehr)
    Wäre nicht schlecht, wenn jemand eine Lösung auf mein kleines Problem weiß....
    bis denn
    Mathias

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    32
    Beiträge
    158
    Zitat Zitat von mathiasd
    Guten Tag!
    Ich habe ein Problem mit einer Schleife:

    define n word
    define x word
    ...
    for n = 1 to x step 1
    ...
    next n

    dabei ist n und x eine word variable, da die Schleife mehr als 255 mal wiederholt werden muss. Aber der Mikrocontroller hängt sich anscheinend auf und verlässt die Schleife nicht mehr (in meinem Fall stoppt, ein damit angsteuerter Schrittmotor, nicht mehr)
    Wäre nicht schlecht, wenn jemand eine Lösung auf mein kleines Problem weiß....
    bis denn
    Mathias
    Hallo,

    die CC achtet nicht sonderlich auf Einhaltung der Grenzen einer FOR Schleife. Du musst sicher gehen, dass die FOR Schleife auf jedenfall (auch unter Berücksichtung von STEP) bis x gelangt!

    Wenn das nicht klappt kannst Du zur Not ja noch eine IF Abfrage in die Schleife einbauen:

    define i word
    define x word

    for i = 1 to n step 1

    if i > 10000 then goto exit_for

    next i

    #exit for
    '...
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2004
    Alter
    33
    Beiträge
    21
    Tag zurück;
    Wie kann i denn größer als 10000 werden, wenn i oben als byte Variable feiniert ist. Byte Variablen können doch nur voin 0 bis 255 zählen...
    bis denn
    mathias

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2004
    Alter
    33
    Beiträge
    21
    das soll heißen definiert.....

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    32
    Beiträge
    158
    Zitat Zitat von mathiasd
    Tag zurück;
    Wie kann i denn größer als 10000 werden, wenn i oben als byte Variable feiniert ist. Byte Variablen können doch nur voin 0 bis 255 zählen...
    bis denn
    mathias
    Oben sind sie als WORD definiert und so wolltest Du das doch haben. Bei BYTE Variablen gibt es meines Wissens nach nicht diesen Bug.

    edit:

    Ahhh jetzt weiß ich was Du meinst. Ja in _meinem_ Beitrag oben waren die Variablen falsch definiert, sie sollten schon WORD sein. Ich habe jetzt nachträglich BYTE in WORD geändert.
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Dumme Frage, aber su hast x einen Wert zugewiesen?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2004
    Alter
    33
    Beiträge
    21
    ...ja x ist ein vorher berechneter Wert und liegt im Bereich (je nach Eingabe) zwischen ca.100 und ca.3000...
    bis dann

+ Antworten

Berechtigungen

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