Datasheet

PIC24FV16KM204 FAMILY
DS30003030B-page 72 2013 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