| Electronic Components Datasheet Search |
|
PIC24F32KA304 Datasheet(PDF) 71 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PIC24F32KA304 Datasheet(HTML) 71 Page - Microchip Technology |
|
71 / 320 page ![]() 2011 Microchip Technology Inc. DS39995B-page 71 PIC24FV32KA304 FAMILY 6.4.1.1 Data EEPROM Bulk Erase To erase the entire data EEPROM (bulk erase), the address registers do not need to be configured because this operation affects the entire data EEPROM. The following sequence helps in performing a bulk erase: 1. Configure NVMCON to Bulk Erase mode. 2. Clear NVMIF status bit and enable NVM interrupt (optional). 3. Write the key sequence to NVMKEY. 4. Set the WR bit to begin erase cycle. 5. Either poll the WR bit or wait for the NVM interrupt (NVMIF set). A typical bulk erase sequence is provided in Example 6-3. 6.4.2 SINGLE-WORD WRITE To write a single word in the data EEPROM, the following sequence must be followed: 1. Erase one data EEPROM word (as mentioned in the previous section) if PGMONLY bit (NVMCON<12>) is set to ‘1’. 2. Write the data word into the data EEPROM latch. 3. Program the data word into the EEPROM: - Configure the NVMCON register to program one EEPROM word (NVMCON<5:0> = 0001xx). - Clear NVMIF status bit and enable NVM interrupt (optional). - Write the key sequence to NVMKEY. - Set the WR bit to begin erase cycle. - Either poll the WR bit or wait for the NVM interrupt (NVMIF set). - To get cleared, wait until NVMIF is set. A typical single-word write sequence is provided in Example 6-4. EXAMPLE 6-3: DATA EEPROM BULK ERASE EXAMPLE 6-4: SINGLE-WORD WRITE TO DATA EEPROM // Set up NVMCON to bulk erase the data EEPROM NVMCON = 0x4050; // Disable Interrupts For 5 Instructions asm volatile ("disi #5"); // Issue Unlock Sequence and Start Erase Cycle __builtin_write_NVM(); int __attribute__ ((space(eedata))) eeData = 0x1234; // Global variable located in EEPROM int newData; // New data to write to EEPROM unsigned int offset; // Set up NVMCON to erase one word of data EEPROM NVMCON = 0x4004; // Set up a pointer to the EEPROM location to be erased TBLPAG = __builtin_tblpage(&eeData); // Initialize EE Data page pointer offset = __builtin_tbloffset(&eeData); // Initizlize lower word of address __builtin_tblwtl(offset, newData); // Write EEPROM data to write latch asm volatile ("disi #5"); // Disable Interrupts For 5 Instructions __builtin_write_NVM(); // Issue Unlock Sequence & Start Write Cycle while(NVMCONbits.WR=1); // Optional: Poll WR bit to wait for // write sequence to complete |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |