Hallo, folgende Sequenz muss eingehalten werden beim Schreiben in das EEPROM eines PIC 16F628: BSF EECON1, WREN ;Enable write BCF INTCON, GIE ;Disable INTs. MOVLW 55h ; MOVWF EECON2 ;Write 55h MOVLW AAh ; MOVWF EECON2 ;Write AAh BSF EECON1,WR ;Set WR bit ;begin write BSF INTCON, GIE ;Enable INTs. Soweit, so (nicht) gut. Zeile "MOVLW AAh" quittiert MPLAB mit dem Fehler: "Symbol not previously defined (AAh)" Natürlich könnte ich 0xAA schreiben. Woran liegt es jedoch, dass MPLAB derart schräg reagiert und in AAh keinen hex-Wert erkennt? Thomas
Numerische Konstanten müssen mit einer Ziffer beginnen. MOVLW 0AAh funktioniert.
MPLAB interpretiert alles was kein bekanntes Wort ist und mit einem Buchstaben beginnt als Label, daher auch die Fehlermeldung "Symbol not previously defined (AAh)". Dieses Verhalten zeigen auch viele andere Assembler.
Gast
#429319
Manche Assembler (z.B. AVR-Studio) mögen auch $aa , so wie früher üblich.
Gast
#429546
benutze: movlw h'AB' movlw d'59' movlw b'00001111' so ist es in der mplab anleitung meine ich vorgegeben, und ich habe damit noch nie probleme gehabt.. Grus, Dennis
oder auch 0xAA
Gast
#429575
die 0x schreibmethode scheint überall zu gehen....ob in asm oder in c oder was weiß ich wo...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.