PIC Bankwechsel in C, wenn ja, WIE

Gast #1448125
Lesenswert?

Hallo!

Von der Assemblerprogrammierung damals in der Ausbildung weiß ich, dass 
man bei den PIC controllern, hier PIC 16F684 einen Bankwechsel machen 
muss, wenn die eine Bank mit variablen voll ist. Dieser Pic hat 2Bänke.

Gilt dies nur für ASM-Programmierung oder muss ich in C auch einen 
Bankwechsel machen? wenn ich keinen Bankwechsel mache, sondern einen 
vorhandernen C-Code um eine globale Variable ergänze, erhalte ich eine 
Fehlermeldung:

Error   [491] ; . es fehlen 0x16 Wörter für psect "rdata_0" im Segment 
"BANK0"  (HI-TECH Compiler)

ohne die zusätzliche 32-Bit Variable habe ich noch 16Words!!! frei. Wie 
kann das? Muss ich nen Bankwechsel vollziehen? Wenn ja, wie?

Eine Zeile wie: STATUS |=(1<<5); lässt sich nicht kompilieren

genauso:
#asm
bsf STATUS,RP0
#endasm

Bitte um HILFE!!! :(

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