Wie setze ich PR0/PR1 im Statusregister mit nem c-compeiler

Gast
Am besten nimmt man einen Chip, der solche Schweinereien erst garnicht
nötig hat (8051, ARM, AVR usw.).


Ansonsten sollte man vielleicht erstmal verraten um welchen Chip es
ganz genau geht und um welchen Compiler.


Peter
Gast
Es ist ein 16F876A pic und es ist ein PCW c-compeiler
ich habe es auch schon in assembler unter c auf folgende Weise
versucht:

#asm
bsf STATUS,PR1
#endasm

aber er beschwert sich und sagt, das er STATUS nicht kennt.
Gast
Also erstmal gibts kein PR0 und PR1 sondern RP0 und RP1, war aber sicher
nur ein Verschreiber.

Ansonsten sollte es so funktionieren:

#asm
bsf 0x03,6
#endasm
Gast
Ich kenne den PIC nicht, aber ich erwarte eigentlich, daß der Compiler
die Variablen und Register selber verwaltet und die Bänke automatisch
umschaltet, wenn er es für nötig erachtet.

Schließlich ist ein C-Compiler ja gerade dazu da, um einen von solchem
Kleinkram zu entlasten. Im Gegenteil, wenn man dem Compiler ins
Handwerk pfuscht, kann das unangenehme Folgen haben.


Egal, in welcher Bank ein Register liegt, mal einfach über den
vordefinierten Namen auf das Register zugreifen und dann mal ins
Assemblerlisting gucken, ob da nicht schon die nötige Umschaltung mit
drin ist.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.