EEPROM Library
EEPROM data memory is available with a number of PIC MCUs. mikroBasic 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, $AA) |
Library Example
The example writes values at 20 successive locations of EEPROM. Then, it reads the written data and prints on PORTB for a visual check.
program Eeprom
dim counter as byte ' loop variable
main:
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 ' Fill data buffer
EEPROM_Write(0x80+counter, counter) ' Write data to address 0x80+ii
next counter
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 ' Read 32 bytes block from address 0x100
PORTD = EEPROM_Read(0x80+counter) ' and display data on PORTC
Delay_ms(100)
next counter
end.
What do you think about this topic ? Send us feedback!




