PIC Mikro Controller HILFE!!!!

+A -A
Autor
Beitrag
Stampede
Inventar
#1 erstellt: 14. Mrz 2005, 23:04
Ich baue grad nen Amp mit ner µC-Steuerung für Temperaturüberwachung und Lautstärkeregelung. Das Programm ist jetzt so groß, dass es schon auf die 2. Seite des Programmspeichers reicht. Aber immer wenn ich die Teile aufrufen will die auf der 2. Seite stehen, gibt nen Reset. Beim assembeln des Hex-Files kommt immer ein Hinweis:
"Crossing page boundary -- ensure page bits are set"
Was soll ich tun?? Bitte um schnelle Hilfe, denn ich weiss einfahcn icht weiter!
Knubbel
Schaut ab und zu mal vorbei
#2 erstellt: 14. Mrz 2005, 23:25
Du mußt die Bank umschalten, sonst beziehen sich alle Adressen auf Bank 0, obwohl der ausgeführte Code in Bank 1 steht (denn da springst Du ja hin).

Die Adressen sind nur 7 Bit lang. Zwei weitere Bits werden an das MSB angehangen, sodass die Adresse so aussieht:

RP1 RP0 B6 B5 B4 B3 B2 B1 B0

Die Bits B0..B6 stehen im Assembler-Befehl, wenn Du auf ein Register zugreifst. Die höherwertigen zwei Bits nimmt der PIC aus dem Status-Register, und vergrößert damit den Adressbereich.

Du mußt also vor dem Sprung in Bank 1 RP1=0 und RP0=1 setzen. Wenn Du wieder in Code in Bank 0 zurückspringst, musst Du die RP Bits wieder beide auf 0 setzen.

Probier mal CC5, das ist ein kostenloser C-Compiler für PICs, da musst Du Dich mit dem Mist nicht mehr rumärgern.

Bei den neuern PICs (PIC18...) gibts keine getrennten Bänke mehr.
Stampede
Inventar
#3 erstellt: 14. Mrz 2005, 23:40

Du mußt die Bank umschalten, sonst beziehen sich alle Adressen auf Bank 0, obwohl der ausgeführte Code in Bank 1 steht (denn da springst Du ja hin).

Die Adressen sind nur 7 Bit lang. Zwei weitere Bits werden an das MSB angehangen, sodass die Adresse so aussieht:

RP1 RP0 B6 B5 B4 B3 B2 B1 B0

Die Bits B0..B6 stehen im Assembler-Befehl, wenn Du auf ein Register zugreifst. Die höherwertigen zwei Bits nimmt der PIC aus dem Status-Register, und vergrößert damit den Adressbereich.


Das ist mir ja klar. Ich will ja nicht zwischen den Bänken für die Speicherregister wechseln. Das Problem ist das der Programmcode länger als eine Seite und ich keine Codeteile ansprechen kann, die sich auf der 2.Seite befinden. Ich weiss nich was ich da machen soll.
Suche:
Das könnte Dich auch interessieren:
Hilfe zu Standby Controller IC
Anro1 am 22.05.2019  –  Letzte Antwort am 22.05.2019  –  4 Beiträge
Strobe controller umbauen
Chrisi100 am 28.05.2012  –  Letzte Antwort am 29.05.2012  –  6 Beiträge
Mikro Amp DIY
peteroli am 21.12.2007  –  Letzte Antwort am 26.01.2008  –  44 Beiträge
Mikro-Eingangspegel zu hoch.
rallerich am 16.01.2009  –  Letzte Antwort am 24.01.2009  –  5 Beiträge
Mikro-Horn Weichenplan gesucht
georgy am 19.09.2004  –  Letzte Antwort am 19.09.2004  –  3 Beiträge
Mikro über Telefonleitung anschließen
mogo am 15.10.2006  –  Letzte Antwort am 17.10.2006  –  10 Beiträge
Elektret Mikro Anschlussplan
Mauby am 14.10.2012  –  Letzte Antwort am 15.10.2012  –  4 Beiträge
LED-Controller umbauen?
Waxweazle2001 am 05.03.2012  –  Letzte Antwort am 22.03.2012  –  8 Beiträge
Hilfe bei LCD Controller Board, Alter Laptop Bildschirm
essling am 07.04.2017  –  Letzte Antwort am 10.04.2017  –  5 Beiträge
Signal dämpfen bei Phantomspeise-Mikro?
rallerich am 26.01.2009  –  Letzte Antwort am 27.01.2009  –  5 Beiträge
Foren Archiv
2005

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder928.157 ( Heute: 4 )
  • Neuestes Mitglied-Splatterguz-
  • Gesamtzahl an Themen1.557.580
  • Gesamtzahl an Beiträgen21.682.284