- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 2 von 2

Thema: Frage zu FSR?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2007
    Beiträge
    24

    Frage zu FSR?

    Hallo,
    nachdem ich mich fast den gesammten Samstag und Sonntag mit dem 16F88 rumgeschlagen habe, und mein Programm in Real einfahc nicht so funktioniern wollte wie es es in der Simulation getan hat, hab ich nach ein wenig Internetrecherche einen Code gefunden der mir weiterhalf. Es geht um die Ansteuerung eines LCDs mit HD44780. Hab meinen für den 16f28a entwickelten Code, der auch auf diesem wunderbar funktioniert hat, zu ansteuerung genommen und nichts hat funktioniert. Nun ja jetzt geht es zumindestens einigermaßen und der Knackpunkt war diese Stück Code:
    Code:
              MOVLW   H'20'         ; begin reset vars
              MOVWF   FSR
    initvar   CLRF    0
              INCF    FSR,F
              MOVLW   H'80'
              XORWF   FSR,W
              BTFSS   STATUS,Z
              GOTO    initvar
    Wie gesagt hab dies im Inet gefunden und in meinen Übernommen. Nun geht es. Dazu nun auch meine Frage: Was hat es mit dieser Schleife aufsich? Denke mal das ist dazu da um den Variablen-Speicher zwischen 0x20 und 0x80 zu leeren. Doch was macht dieses "CLRF 0"? Nimmt es die Aktuelle Adresse aus dem FSR und setzt diese auf 0x00?
    Und was hat es überhaupt so wirklich mit dem FSR aufsich?
    Hab dazu nur halbwissen und auch noch nicht selber mit ihm gearbeitet.
    Liebe Grüße Kante

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076

    RE FSR

    Das FSR Register ist ein Index Register, zeigt also auf eine
    beliebige Speicherstelle im RAM.
    Hier wird das FSR zuerst auf 20 Hex gesetzt, dort beginnt
    der RAM des PIC. CLRF 0 sollte man sinnvollerweise
    mit CLRF INDF ersetzen, kommt aber auf das gleiche raus,
    da das INDF Register an Speicherstelle 0 liegt.
    Mit dem INCF FSR,F wird das Indexregister in der Schleife
    jeweils um ein Byte hochgezählt, damit es auf die nächste
    Speicherstelle zeigt. Hier wird also der RAM Bereich mit
    Nullen initialisiert, da nach einem RESET des PICs die
    Speicherstellen nicht initialisiert werden.
    mfg Siro

Berechtigungen

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

Labornetzteil AliExpress