EEPROM Library
EEPROM data memory is available with a number of PIC MCUs. mikroPascal PRO for PIC includes library for comfortable work with EEPROM.
Library Routines
EEPROM_Read
| Prototype |
// for PIC16
// for PIC18 |
|---|---|
| Returns |
Returns byte from specified address. |
| Description |
Reads |
| Requires |
Requires EEPROM module. Ensure minimum 20ms delay between successive use of routines |
| Example |
tmp := EEPROM_Read($3F); |
EEPROM_Write
| Prototype |
// for PIC16
// for PIC18 |
|---|---|
| Returns |
Nothing. |
| Description |
Writes Be aware that all interrupts will be disabled during execution of |
| Requires |
Requires EEPROM module. Ensure minimum 20ms delay between successive use of routines |
| Example |
EEPROM_Write($32); |
Library Example
The example demonstrates using EEPROM Library.
program Eeprom;
var counter : byte; // loop variable
begin
ANSEL := 0; // Configure AN pins as digital I/O
ANSELH := 0;
C1ON_bit := 0; // Disable comparators
C2ON_bit := 0;
PORTB := 0;
PORTC := 0;
PORTD := 0;
TRISB := 0;
TRISC := 0;
TRISD := 0;
for counter := 0 to 31 do // Fill data buffer
EEPROM_Write(0x80+counter, counter); // Write data to address 0x80+ii
EEPROM_Write(0x02,0xAA); // Write some data at address 2
EEPROM_Write(0x50,0x55); // Write some data at address 0150
Delay_ms(1000); // Blink PORTB and PORTC diodes
PORTB := 0xFF; // to indicate reading start
PORTC := 0xFF;
Delay_ms(1000);
PORTB := 0x00;
PORTC := 0x00;
Delay_ms(1000);
PORTB := EEPROM_Read(0x02); // Read data from address 2 and display it on PORTB
PORTC := EEPROM_Read(0x50); // Read data from address 0x50 and display it on PORTC
Delay_ms(1000);
for counter := 0 to 31 do // Read 32 bytes block from address 0x100
begin
PORTD := EEPROM_Read(0x80+counter); // and display data on PORTC
Delay_ms(300);
end;
end.
What do you think about this topic ? Send us feedback!




