PIC24F08KA102-E/ML Microchip Technology Inc., PIC24F08KA102-E/ML Datasheet - Page 57

no-image

PIC24F08KA102-E/ML

Manufacturer Part Number
PIC24F08KA102-E/ML
Description
8KB FLASH, 1.5KB RAM, 512B EEPROM, 16 MIPS, 24 I/O, 16-BIT PIC24F FAMILY, NANOWAT
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC24F08KA102-E/ML

A/d Inputs
9 Channel, 10-bit
Comparators
2
Cpu Speed
16 MIPS
Eeprom Memory
0 Bytes
Input Output
24
Interface
I2C/SPI/UART/USART
Memory Type
Flash
Number Of Bits
16
Package Type
28-pin QFN
Programmable Memory
8K Bytes
Ram Size
1.5K Bytes
Speed
32 MHz
Temperature Range
–40 to 125 °C
Timers
3-16-bit
Voltage, Range
1.8-3.6 V
Lead Free Status / Rohs Status
RoHS Compliant part
6.4.1.1
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
bulk erase:
1.
2.
3.
4.
5.
A typical bulk erase sequence is provided in
Example 6-3.
EXAMPLE 6-3:
EXAMPLE 6-4:
© 2009 Microchip Technology Inc.
int __attribute__ ((space(eedata))) eeData = 0x1234;
Configure NVMCON to Bulk Erase mode.
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).
int newData;
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);
offset = __builtin_tbloffset(&eeData);
__builtin_tblwtl(offset, newData);
asm volatile ("disi #5");
__builtin_write_NVM();
// 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();
Data EEPROM Bulk Erase
DATA EEPROM BULK ERASE
SINGLE-WORD WRITE TO DATA EEPROM
Preliminary
PIC24F16KA102 FAMILY
6.4.2
To write a single word in the data EEPROM, the
following sequence must be followed:
1.
2.
3.
A typical single-word write sequence is provided in
Example 6-4.
// Variable located in EEPROM
// Initialize EE Data page pointer
// Initizlize lower word of address
// Write EEPROM data to write latch
// Disable Interrupts For 5 Instructions
// Issue Unlock Sequence & Start Write Cycle
// New data to write to EEPROM
Erase one data EEPROM word (as mentioned in
the
(NVMCON<12>) is set to ‘1’.
Write the data word into the data EEPROM
latch.
Program the data word into the EEPROM:
- Configure the NVMCON register to program one
- Clear NVMIF status bit and enable NVM
- Write the key sequence to NVMKEY.
- Set the WR bit to begin erase cycle.
- Either poll the WR bit or wait for the NVM
- To get cleared, wait until NVMIF is set.
EEPROM word (NVMCON<5:0> = 0001xx).
interrupt (optional).
interrupt (NVMIF set).
previous
SINGLE-WORD WRITE
section)
if
PGMONLY
DS39927B-page 55
bit

Related parts for PIC24F08KA102-E/ML