Function |
|
Write a block of a specified length from bufferINFO to a specified location in EEPROM |
Purpose |
|
Block access to EEPROM |
Syntax |
|
void eeWriteData(uns8 address, uns8 length) |
Parameters |
|
• address: address in EEPROM. See IQRF OS User’s guide, EEPROM map. • (0x80 to 0xBF - length + 1) for Coordinator • (0 to 0xBF - length + 1) for other devices • length: number of bytes to be written from bufferINFO: (1 to 64) |
Return value |
|
– |
Output values |
|
– |
Preconditions |
|
The initial address in bufferINFO can be shifted by memoryOffsetFrom. memoryOffsetFrom is default disabled (cleared after reset as well as after every eeWriteData). |
Remarks |
|
• Direct user access to EEPROM (using registers EECONx etc.) is not allowed for security reasons, specialized OS functions are intended for this. • EEPROM area dedicated to OS (locations 0xC0 or higher) is not accessible. See Example E04-EEPROM. |
Side effects |
|
Any attempt to write to the protected area above 0xBF leads to no operation. |
See also |
|
|
Example 1 |
|
eeWriteData(0x0A,16); // copy 16 B from bufferINFO to EEPROM to address 0x0A // EEPROM[0x0A] = bufferINFO[0] // ... // EEPROM[0x19] = bufferINFO[15] |
Example 2 |
|
// Illegal access: Avoid access to EEPROM locations 0xC0 or higher eeWriteData(0xC8,16); // Attempt to write to protected area – nothing is // written. |
Example 3 |
|
memoryOffsetFrom = 20; eeWriteData(0x0A,16); // copy 16 B from bufferINFO to EEPROM to address 0x0A // EEPROM[0x0A] = bufferINFO[20] // ... // EEPROM[0x19] = bufferINFO[35] // memoryOffsetFrom is automatically cleared here |