- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: PIC Assembler: Zeitschleife funktioniert nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Hallo Lutzacht.

    Willkommen im Forum!

    Was genau soll eigentlich diese Warteschleife bewirken?
    Die Codierung mit drei Variablen und den skip und goto-Elementen ist für meine Augen sehr ungewöhnlich.
    Ich habe einen Verdacht, wo (d)ein Denkfehler liegen könnte: DECFSZ <variable> dekrementiert immer, auch wenn <variable> bereits null ist, springt bei null wie erwartet, hat aber keinen "Anschlag" sondern macht weiter mit 0xFF, 0xFE, ...
    Ich habe im Kopf versucht zu ergründen, was dort abgeht, aber mir wird von dem vielen Gehopse schwindelig ...
    Schreib mal noch einen Satz zum Zweck, insbesondere wozu drei Variablen gut sind. Dann kann man weitersehen.

    Gruß
    RoboHolIC

    Vielleicht eines noch: Kannst du bitte den Code in [ Code ]-Tags einschließen (Bearbeiten-Button, dann Schaltfläche "#"); dann bleibt es besser lesbar.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Ich habe es eben mal simuliert mit MPLAB 8
    Bei mir ergibt deine Warteschleife 2999997 Zyklen

    Also KEINE Endlosschleife.

    Kann es sein das Dir der Watchdog reinhaut ? und dadurch ein Reset ausgelöst wird ?

    Ich hab dein Programm jetzt komplett simuliert.
    Da hängt normalerweise nicht und es läuft soweit.
    Es kann eigentlich nur dann festhängen wenn dein "BF" Flag nicht kommt.
    Diese Zeilen habe ich in meiner Simulation alle ausgeklammert.

    Check4
    BTFSS SSPSTAT,BF
    GOTO Check4
    Geändert von Siro (09.03.2014 um 07:37 Uhr)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.01.2013
    Beiträge
    9
    Hallo RoboHolIC und Siro,

    vielen Dank für die schnelle Reaktion. Zu euren Fragen:

    a) Ich teste meine Schaltung in möglichst kleinen Schritten, einfach um Fehler leichter eingrenzen zu können. Deshalb ist dieses Programm entstanden, um die Parametrierung des AD421 zu testen. Es soll einfach zwischen zwei mA Werten hin und her schalten. Um am Multimeter etwas ablesen zu können, braucht es eine Verzögerung.
    b) Das Gehopse in der Schleife stammt nicht aus meiner Feder, sondern von einer Webseite, die ich jetzt auf die Schnelle nicht mehr finde. Davor habe ich selber zwei Warteschleifen geschrieben, eine mit und eine ohne Timer. Alle drei Versionen geben den gleichen Fehler. Das stützt Siro's Anregung, außerhalb des Codes zu suchen.

    Deshalb habe ich jetzt WDTE auf OFF gesetzt... und...

    ES GEHT!

    Vielen Dank

Ähnliche Themen

  1. Zeitschleife funktioniert nicht (mit C programmiert)
    Von pointhi im Forum PIC Controller
    Antworten: 7
    Letzter Beitrag: 03.04.2010, 08:16
  2. Servo Ansteuerung funktioniert nicht ( PIC und C)
    Von Pilotzi im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 04.11.2009, 19:42
  3. PIC Assembler in Wiki
    Von PICture im Forum PIC Controller
    Antworten: 19
    Letzter Beitrag: 17.04.2007, 09:57
  4. for-schleife in Assembler für PIC
    Von picprogger im Forum PIC Controller
    Antworten: 5
    Letzter Beitrag: 10.03.2007, 08:49
  5. Antworten: 3
    Letzter Beitrag: 21.01.2007, 12:57

Berechtigungen

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

12V Akku bauen