Alle Variablen im PIC resetten

#2244718
Lesenswert?

Wenn alle Speicherzellen hintereinander sind (z.B. von 0x30 bis 0x44), 
kannst du eine Schleife machen, dass du von 0x30 bis 0x44 hochzählst, 
die zahl ins FSR schreibst und die Speicherzelle mithilfe von clrf INDF 
löscht. Siehe Seite 19 im Datenblatt.


Musst mal nachrechnen, ob das bei 20 Zellen schon sinn macht.
Gast #2245073
Lesenswert?

...normalerweise hat man beim Programmstart schon definierte 
Anfangszustände in Variablen, die müssen ja eh schonmal irgendwo gesetzt 
werden. Den Punkt würde ich ggf. nach vorn ziehen...

Ansonsten wirklich über indirekte Adressierung wie oben beschrieben, die 
Adresse der Ramzelle nach FSR und ein clrf auf INDF ausführen.

J.
Gast #2245359
Lesenswert?

20 x clrf ist doch einfach oder versteh ich da jetzt was falsch?
In ein kleines Unterprogramm packen evtl. in externer Datei und bei 
Bedarf aufrufen bei Reset org 0000 und bei Programmstart org 
irgendwas...

Geht schnell und verbraucht wenig Platz.

Gruß
Thomas
#2245365
Lesenswert?

SIm Nutzer schrieb:
> 20 x clrf ist doch einfach oder versteh ich da jetzt was falsch?

Michael Skropski schrieb:
> Musst mal nachrechnen, ob das bei 20 Zellen schon sinn macht.


Das meinte ich. Man muss sich angucken, wieviel Befehle man bei der 
Schleife braucht. Sollte der Programmspeicher aber für die 20 Befehle 
noch ausreichen, wäre mir der Aufwand beim programmieren der Schleife 
nicht wert. Und es geht schneller

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren