Was bedeutet "Banked registers" bei PIC Controllern?

Gast #107863
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
Gast #107864
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

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