-         

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

Thema: ATMega128 auf STK500/501-Nix als Probleme...

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.10.2005
    Beiträge
    14

    ATMega128 auf STK500/501-Nix als Probleme...

    Anzeige

    Hallo.

    Nachdem ich meine ersten Versuche mit dem ATmega8 einigermaßen erfolgreich abgeschlossen habe und z.B. auch das NOKIA LPH7779 angesteuert habe, möchte ich nun den 128er auf dem STK500/501 programmieren.

    Bis jetzt wehrt sich dieser jedoch noch mit Händen und Füßen dagegen.

    Ich hab´s zwar geschafft mit folgendem Programm eine LED auf Tastendruck zum Leuchten zu bekommen...

    '-----------------------------------------
    $regfile = "m128def.dat"
    $crystal = 1000000

    Config Portb = Output
    Config Portd = Input

    Do
    If Pind.0 = 0 Then 'Wenn Taste an PortD.0 gedrückt ist...
    Reset Portb.0 '...LED an PortB.0 einschalten
    Else '...ansonsten
    Set Portb.0 '...LED an PortB.0 ausschalten
    End If
    Loop

    End
    '-----------------------------------------

    ...aber folgendes Programm, mit dem ich eine LED einschalte, eine Sekunde warte und dann noch ´ne zweite LED einschalten will schaltet beide LEDs gleichzeitig ein.

    '-----------------------------------------
    $regfile = "m128def.dat"
    $crystal = 1000000

    Config Portb = Output

    Do
    Reset Portb.0
    Wait 1
    Reset Portb.3
    Loop

    End
    '-----------------------------------------
    Woran kann das liegen daß der Wait-Befehl anscheinend übersprungen wird ???

    Wenn ich z.B. eine LED einschalte kann ich sie mit einem nachfolgenden Set ... auch nicht mehr ausschalten.

    Seltsam, seltsam...

    Ich hoffe, daß mir von Euch jemand helfen kann. Ich verzweifel sonst noch.

    Danke schon mal.

    Gruß Ralf

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ich sehe das nur Zwei Resetbefehle für b.0 und b.3


    Wie hast du denn die LEDs an den Controller gehangen ?
    Gruß
    Ratber

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Probier doch mal folgendes

    Code:
    $regfile = "m128def.dat"
    $crystal = 1000000 
    
    Do
    Reset Portb.0
    Wait 1
    Set Portb.0
    Wait 1
    Loop
    
    End
    Gruß
    m.artmann

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    28.10.2005
    Beiträge
    14
    Hallo Ratber.
    Die LEDs sind auf dem STK500 ja standardmässig drauf. Sie sind an PortB.0 und PortB.3 angeschlossen. Mit Reset Portb.x schalte ich die LED an, mit Set Portb.x entsprechend aus.

    Hallo m.artmann.
    Wenn ich

    ...
    Do
    Reset Portb.0
    Wait 1
    Set Portb.0
    ...

    mache leuchtet die LED und bleibt an.

    Drehe ich das ganze um, also

    ...
    Do
    Set Portb.0
    Wait 1
    Reset Portb.0
    ...

    bleibt die LED dunkel.

    Es wirkt so, als ob die Programmausführung am Wait hängen bleibt.

    Habe Ihr ´ne Idee ??? Ich versteh das ganze nicht.

    Gruß Ralf

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Dann hast Du mit Sicherheit das zweite "Wait 1" vergessen.
    Der zweite Befehl wird dann zwar ausgeführt, aber viel schneller als dass Du es sehen könntest

    Du mußt Dir die Reihenfolge vorstellen:

    1. LED ein (Reset Portb.0)
    2. eine Sekunde warten (Wait 1)
    3. LED aus (Set Portb.0)
    4 eine Sekunde warten (Wait 1)
    5 wieder von vorne abfangen (Do...Loop)

    Gruß
    m.artmann

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    @Ralf

    Zu "Ein/Aus"

    Je nachdem ob man die LED nach Vcc oder Gnd schaltet leuchtet sich auch bei Set oder Reset.
    Ds sollte man berücksichtigen sonst kommt man schnell in schleudern.
    zb. wie hier bei nem fehlenden Wait.
    Deswegen die Frage nach der Beschaltung.
    Gruß
    Ratber

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    63
    Hi,

    hab das mal so getestet:
    Code:
    $regfile = "m128def.dat"
    $crystal = 1000000
    
    
    Ddrb = &B00000001
    Ddrd = &B00000000
    
    
    Do
    Reset Portb.0
    Wait 1
    Set Portb.0
    Wait 1
    Loop
    
    End
    Die LED geht an und sonst passiert da nichts!

    Hab das dann mal mit einem Taster getestet:
    Code:
    $regfile = "m128def.dat"
    $crystal = 1000000
    
    
    Ddrb = &B00000001
    Ddrd = &B00000000
    
    
    Do
    
       If Pind.0 = 0 Then
          Portb.0 = 0
          Waitms 2000
       Else
          Portb.0 = 1
    
       End If
    Loop
    
    End
    Die LED geht nach einem Tastendruck an und bleibt die 2sec an und geht dann wieder aus.

    Warum sich das obere anderst verhält was die wartezeit betrifft weiß ich
    jedenfalls nicht.

    Hab auch getestet ob das wegen dem Wait bzw. Waitms ist, das verhält sich aber gleich.

    Würde mich auch interresieren warum das so ist.
    Gruß Wasi...

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Keine Ahnung warum das erste nicht klappt.
    Vieleicht irgendein Steurcode im Code.
    Da hilft manchmal die Zeile komplett neu zu schreiben.


    Apropos M128
    Der läuft nicht zufällig noch als M103 ? (M103 Fuse)
    Gruß
    Ratber

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    63
    Apropos M128
    Der läuft nicht zufällig noch als M103 ? (M103 Fuse)
    Oh oh oh...

    Jo, das is es, bei mir hab ich den M103 Fuse mal raus gemacht, und siehe er Blinkt!

    @Ralf, schau auch mal nach!

    Gruß Wasi...

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Yo,das hat Atmel etwas unglücklich gelöst
    Gruß
    Ratber

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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