10.3.3 Word Read
A single 16-bit word is read by setting the NVMADR registers to
the target address and setting the NVMCMD bits to ‘b000. The word is
then transferred from PFM to the NVMDAT registers by starting the read operation by
setting the GO bit.
The sequence of events for reading a word of PFM is:
- Set the NVMADR registers to the target address.
- Set the NVMCMD control bits to
‘b000(Word Read). - Set the GO bit to start the PFM word read.
- Monitor the GO bit or NVMIF interrupt flag to determine when the read has completed.
Reading a Word from Program Flash Memory in C
// Code sequence to read one word from PFM // PFM target address is specified by WORD_ADDR // Variable to store the word value from desired location in PFM uint16_t WordValue; // Load NVMADR with the desired word address NVMADR = WORD_ADDR; NVMCON1bits.CMD = 0x00; // Set the word read command NVMCON0bits.GO = 1; // Start word read while (NVMCON0bits.GO); // Wait for the read operation to complete WordValue = NVMDAT; // Store the read value to a variable
