Forum: Mikrocontroller und Digitale Elektronik Was bedeutet "Banked registers" bei PIC Controllern?


von Jörg (Gast)


Lesenswert?

Hallo,
bei meinen ersten Gehversuchen mit den PIC Controllern bin ich auf die
Begriffe "Banked registers" und "Unbanked registers" getroffen.
Kann mir jemand erklären was damit gemein ist?

Dankeschön und Grüße

Jörg

von Profi (Gast)


Lesenswert?

Welchen PIC hast Du denn?
Ich denke, da im Codewort nur einen begrenzte Zahl von Bits frei ist,
hat man selten gebrauchte Register in Bank 1 (oder hoeher) gelegt.
Vorher muss man angeben, welche Bank von Registern man anwählen will.

Ist auch ein wenig historisch bedingt (die ersten PICs hatten nur eine:
Bank0) und ein Hauptkritikpunkt an den PICs, aber lass Dich nicht
irritieren.

Prüf mal, ob bei indirekter Adressierung mittels INDF und R0 R4 (8 Bits
sind hier moeglich) die Bank noch angegeben werden muss...

Wenn Du in C programmierst, nimmt Dir der Compiler viel Arbeit ab.

Profi

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo Jörg

die PIC's unterscheiden nicht zwischen Registern, so wie man das von
uP her kennt und einer Speicherzelle. Bei den PIC's sind das alles
Register, (das Register File). Es gibt nur ein Arbeitsregister W, und
dann die Port-register usw und die "freien" Register, die man als
Speicher verwenden kann. Grundsätzlich sind alle "banked". Das heißt
im Optionregister gibts 1 oder 2 Bits, mit denen man die Bank
umschaltet. Es gibt aber auch Register, die in allen Banken vorhanden
sind (also un-banked). Die neuen uC der PIC18 Familie kennen dies nicht
mehr.


Gerhard

von Jörg (Gast)


Lesenswert?

Hallo zusammen,
danke für die Info`s - Jetzt hab ich`s kappiert :-)

Grüße

Jörg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.