Forum: Mikrocontroller und Digitale Elektronik pic16f84a


von Stefan (Gast)


Lesenswert?

Hallo ich habe ein Problem.Ich programiere mit MPLAB und bekomme ich
immer dasekbe Fehler [302]."Register in operand not in Bank".
Es geht immer um (SRF) TRISA und TRISB -egal das Program,die
Fehlermeldung kommt immerwieder.
Helfen sie mir BITTE...

von Andreas Jäger (Gast)


Lesenswert?

Stefan,

dieses Nicht-Problem taucht immer wieder bei Anfängern auf. Die Meldung
302 "Register in operand not in bank 0. Ensure that bank bits are
correct" ist "nur" eine Warnung. Sie soll dem Programmierer darauf
aufmerksam machen, dass der Operand des Befehls (z.B. TRISA) nicht in
der Bank 0 ist und darauf zu achten ist, dass die Bank-Selection
richtig gesetzt ist.

Bsp.:
TRISA ist in Bank 1, das heisst, bevor du auf TRISA zugreifen kannst,
musst du mit

  bsf STATUS,RP0

auf Bank 1 unschalten. Wichtig: Das Zurückschalten nicht vergessen:

  bcf STATUS,RP0

Wenn du sicher bist, dass du alles korrekt gemacht hast, kannst du die
Meldung mit

  errorlevel  -302

unterdrücken.

Steht alles im Assembler-User's-Guide und Datasheet!
Andreas

von Stefan (Gast)


Lesenswert?

Danke Andreas für die Vorschlage.
Ich habe alles gemacht,aber ich kann jetzt das Fail nicht zu
assemblieren in diese Format *.HEX
Statt *.HEX kommt *.err
Leider kann ich nicht das Program in MC aufnahmen.
Hielf mir BItte.

von Beeblebrox (Gast)


Lesenswert?

Na dann poste doch einfach mal Deinen Code !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.