Register Bänke PIC

Gast #1389232
Lesenswert?
• ▲
▼
Die meisten PIC's haben mehre RAM-Bänke, um so "größer" um so mehr RAM. 
Da gibt es viele Typen, daher macht es keinen Sinn, diese pauschal 
aufzählen zu wollen.

Auf Assembler-Ebene erfolgt das Bank-Switching nicht automatisch. Im 
C-Quellcode gelten nur die C-Konventionen, alles andere sollte ein 
C-Compiler automatisch beherrschen.

Ähnlichs gilt auch für das Page-Switching im ROM(Flash). Ist aber nur 
für die PIC16... interessant (kein linearer Adreßbereich). Die PIC18... 
können Ihren ROM linear adressieren --> kein Page-Switching notwendig.

Bei den dsPIC und den PIC32 bin ich mir da jetzt nicht sicher, aber ich 
denke mal das neuere PIC's als die 18er Familie Ihren ROM auch linear 
adressieren können.
Persönliche Seite #1389450
Lesenswert?
• ▲
▼
Das hat mit Interrupt nichts zu tun. Je nachdem in welcher RAM-Bank 
deine Variablen (Register) liegen muss diese entsprechend vor dem Lesen 
oder Schreiben der Variable eingestellt werden. Ein C Compiler sollte 
dies automatisch tun. Bei Assembler musst du es selbst umschalten.

Schau einfach mal in Datenblatt zu deinem PIC. Dort findest du meist 
relativ weit am Anfang die Speicherbelegung. Daraus kannst du sehr gut 
erkennen in welcher Bank welches Register liegt und wo sich dein freier 
RAM befindet.

Gruß
Sven

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.