- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 5 von 5

Thema: Kleine Frage zu einer Schleife

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Die Befehle sind soweit ich das sehe Amtel AVR.

    http://www.atmel.com/webdoc/avrassem...r.wb_SBIS.html
    http://www.atmel.com/webdoc/avrassem...r.wb_SBIC.html
    http://www.atmel.com/webdoc/avrassem...r.wb_RJMP.html
    http://www.atmel.com/webdoc/avrassem...er.wb_LDI.html
    http://www.atmel.com/webdoc/avrassem...er.wb_OUT.html

    Code:
    l0:
         sbis PinA, 0 ;wenn gesetzt springe zu s0 (überspringe Jump l1)
         rjmp l1
         rjmp s0
    l1:
         sbis PinA, 1 ;wenn gesetzt springe zu s2 (überspringe Jump l0)
         rjmp l0
         rjmp s2
    
    
    ;Schleife Taster 1
    s0:
        ldi R16, 0xFF
        out PINB, R16
    s1:
        sbic PinA, 0 ;wenn zurückgesetzt springe zu l0 (überspringe jump s1 - was eine Warteschleife ist solange der Taster gedrückt ist)
        rjmp s1 
        rjmp l0
    
    
    ;Schleife Taster 2
    s2:
    
        ldi R16, 0xFF
        out PINB, R16
    s3:
        sbic PinA, 1 ;wenn zurückgesetzt springe zu l0 (überspringe jump s3 - was eine Warteschleife ist solange der Taster gedrückt ist)
        rjmp s3
        rjmp l0
    ich würde zum Testen mal zwichen:
    ldi R16, 0xFF
    und
    out PINB, R16
    eine Zählschleife oder andere Manipulation des Registerwertes einbauen, um zu sehen ob da nicht doch bei jedem Tastendruck was passiert.
    Beim schnellen durchsehen kommt mir der Code von der Logik auch korrekt vor.
    Weshalb ich auch nicht mehr sagen kann als anstelle der orginal Sequenzen s0: und s2: halt einen testcode zu nehmen.
    (eventuell reicht ein LSL und LSR oder ROL/ROR, je nach Bitmuster)
    Die Sprunglogik scheint zu funktionieren.
    Wenn tatsächlich die Schalter gegen Vss schalten und nicht gegen GND sollte es von der Sprunglogik her richtig sein.
    Geändert von i_make_it (09.01.2016 um 12:21 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Oh Mann...Danke Searcher, dein Gedanke war der Richtige.

    Ich hab die Taster tatsächlich gegen GND schalten lassen-und diesen Umstand vergessen.
    Das kommt davon, wenn zwischen Hardwarebau und Programmierung viele Monate liegen.

    Ach ja...es ist natürlich ein AVR gewesen (ATMega644PA, um genau zu sein), und der entsprechende Assembler aus AVR-Studio 4.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Wie kann ich eine Variable mit unterschiedlichen Werten in einer Schleife füllen?
    Von waldi_n im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 31.12.2013, 15:43
  2. >Frage zun Next For schleife
    Von Cybererror im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 22.03.2010, 10:24
  3. Stack beim verlassen einer Schleife...
    Von Klingon77 im Forum Software, Algorithmen und KI
    Antworten: 10
    Letzter Beitrag: 26.04.2009, 10:17
  4. Antworten: 24
    Letzter Beitrag: 30.05.2007, 09:52
  5. Addition in einer For-Schleife
    Von bertl100 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 06.05.2005, 16:08

Berechtigungen

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

LiFePO4 Speicher Test