Microchip Technology MA240017 データシート
PIC24F16KA102 FAMILY
DS39927C-page 50
2008-2011 Microchip Technology Inc.
EXAMPLE 5-5:
INITIATING A PROGRAMMING SEQUENCE – ASSEMBLY LANGUAGE CODE
EXAMPLE 5-6:
INITIATING A PROGRAMMING SEQUENCE – ‘C’ LANGUAGE CODE
DISI
#5
; Block all interrupts
for next 5 instructions
MOV
#0x55, W0
MOV
W0, NVMKEY
; Write the 55 key
MOV
#0xAA, W1
;
MOV
W1, NVMKEY
; Write the AA key
BSET
NVMCON, #WR
; Start the erase sequence
NOP
; 2 NOPs required after setting WR
NOP
;
BTSC
NVMCON, #15
; Wait for the sequence to be completed
BRA $-2
;
// C example using MPLAB C30
asm("DISI #5");
// Block all interrupts for next 5 instructions
__builtin_write_NVM();
// Perform unlock sequence and set WR