-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Schleifenhüpfer

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Ort
    Kreis Heinsberg
    Beiträge
    20

    Schleifenhüpfer

    Anzeige

    Liebe Gemeinde,
    ich habe ein "FOR NEXT" Problem.

    For X = 1 To 20
    Led = Ein
    Wait 1
    Led = Aus
    Waitms 1
    Next X
    End
    Diese Schleife wir nur die halbe Anzahl an Durchläufen, abgearbeitet.
    Ist die Endzahl Ungleich also 11,21 ect. bleibt die Led sogar an, wenn das Programm beendet wir. ich verwende einen Atmel 168.
    Weis jemand warum? Habe bis jetzt nur C-Controll 2 programmiert und mit Bascom keine Erfahrung.
    Gruß Hummel

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Zeig mal das ganze Programm. Allein von dem Stück das dasteht funktionierts perfekt.
    #ifndef MfG
    #define MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    21.02.2007
    Beiträge
    38
    wenn da wirklich hinter LED=aus der Befehl waitMS 1 steht, würd ich sagen, ist die LED "augenscheinlich" immer EIN oder?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Hackes
    wenn da wirklich hinter LED=aus der Befehl waitMS 1 steht, würd ich sagen, ist die LED "augenscheinlich" immer EIN oder?
    Während die Schleife läuft schon. Danach sollte die LED aber aus sein, egal wieviele Schleifendurchläufe stattfinden.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Ort
    Kreis Heinsberg
    Beiträge
    20
    Hallo,
    erst mal vielen Dank für Euer Interesse.
    WaitMS 1 war natürlich falsch. Hatte ich auch schon geändert, ich da vorher 1000ms. stehen.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Ort
    Kreis Heinsberg
    Beiträge
    20
    Der Code:
    $regfile = "m168def.dat"
    $crystal = 8000000
    $baud = 9600
    $hwstack = 64
    $swstack = 20
    $framesize = 60
    '----------------------------------
    Config Pinc.0 = Output
    Config Pind.2 = Input
    Led Alias Pinc.0
    Eingang1 Alias Pind.2
    Dim X As Byte
    Const Ein = 1
    Const Aus = 0
    '---------------------
    For X = 1 To 10
    Led = Ein
    Wait 1
    Led = Aus
    Wait 1
    Next X
    For X = 1 To 10
    Led = Ein
    Waitms 500
    Led = Aus
    Waitms 500
    Next X
    End

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Ich seh da bei den Pins 2 Fehler:
    Bei nem Output isses Config Portx.y, nicht Pinx.y
    Und Led Alias PinC.0 müsste PortC.0 sein.

    Ansonsten müsste das Programm aber gehen.
    #ifndef MfG
    #define MfG

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Hummel
    Led Alias Pinc.0
    Hättest du uns den ganzen Code direkt gezeigt, hättest du auch gleich den richtigen Hinweis bekommen.
    Wenn du eine 1 in das Pin Register schreibst ist das so, als würdest du den Ausgang toggeln. Schreibst du da eine 0 hinein passiert nichts.
    Daher wird bei einer geraden Anzahl von Schleifendurchläufen so getoggelt, dass am Ende die LED aus ist. Bei einer ungeraden Anzahl bleibt sie an.
    Wie Jaecko schon geschrieben hat, willst du ja eigentlich das Port Register setzen. Da kannst du tatsächlich eine 1 bzw. eine 0 hineinschreiben.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Ort
    Kreis Heinsberg
    Beiträge
    20
    Danke für Eure Hilfe.
    Port statt Pin wie Ihr geschrieben habt.
    Fragt sich nur warum es im Simulator korrekt läuft und die Schleife bis 10 zählt und im 168'er nur bis 5? Der Compiler mecker nicht.

    Gruß Karl

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Bitte wieder den ganzen geänderten Code posten

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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