Forum: Mikrocontroller und Digitale Elektronik Microcontroller 16F628A Problem mit assemblieren (.cof anstelle von .hex)


von Andi (Gast)


Lesenswert?

Hallo zusammen!
Ich hab n kleines Proflem beim assemblieren.
Nachdem ich mein Programm geschrieben- und ich es auch "ohne Fehler" 
assembliert habe, bekomme ich eine ".cof" -Datei, anstelle einer ".hex" 
!

Wenn ich "Build all" klicke, dann wird das auch gemacht und am Ende 
steht dann "BUILD SUCCEEDED", was soviel heisst wie erfolgreich 
assembliert.
Da steht allerdings noch eine Message (302) welche besagt, dass ich 
einen Wert vom Arbeitsregister nicht in TRISB kopieren kann, da sich 
TRISB in der Bank 1 befindet. Vor diesem Kopierbefehl habe ich 
allerdings in die Bank 1 umgeschaltet mit bsf, STATUS RP0

Der fehlerhafte Teil sieht so aus:

bsf STATUS, RP0
movlw B'00000000'
movwf TRISB
bcf STATUS, RP0
clrf PORTB

bsf PORTB, 0

Kann mir von euch jemand helfen?? Ich wäre sehr dankbar!
Ich arbeite mit MPLAB 8.1

MfG
Andi

von Dieter W. (dds5)


Lesenswert?

Da könnte unter >Project >BuildOptions > Project >MPLINK-Linker die 
Ausgabe der HEX-Datei abgeschaltet sein.

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Die Warnung 302 kommt immer wenn du Register in einer anderen Bank 
ansprichst. Der Assembler merkt nicht, dass du die Bank vorher 
umgeschaltet hast und weist dich deshalb darauf hin. Wenn du diese 
Warnungen nicht wünschst, kannst du im Quellcode am Anfang

ERRORLEVEL -302

eingeben. Diese Meldungen werden bei größeren Programmen sonst schnell 
sehr lästig.

Inzwischen schalte ich auch noch die 307 mit ab. Diese Meldung kommt, 
sobald du die Pages umschaltest (also in einen anderen 2kByte 
Flashbereich springst)

Sven

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.