Difference between revisions of "Component: EEPROM (EEPROM)"

From Flowcode Help
Jump to navigationJump to search
 
(2 intermediate revisions by the same user not shown)
Line 93: Line 93:
 
Example showing how to store and retrieve strings to and from the EEPROM memory.
 
Example showing how to store and retrieve strings to and from the EEPROM memory.
 
{{Fcfile|StringEE.fcfx|EEStrings}}
 
{{Fcfile|StringEE.fcfx|EEStrings}}
 +
 +
 +
 +
 +
 +
  
  
Line 100: Line 106:
 
==Macro reference==
 
==Macro reference==
  
===WriteFloat===
+
===Read===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteFloat'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Read'''
 
|-
 
|-
| colspan="2" | Writes a 32-bit float value starting at the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
+
| colspan="2" | Reads a packet of bits from the EEPROM The number of bits read is 8 or 16, depending on the platform  
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | StartAddress
+
| width="90%" | Address
 
|-
 
|-
| colspan="2" | Initial EE location to start reading 
+
| colspan="2" | The address, in elements, to read the data from 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Value
 
|-
 
| colspan="2" | Floating point value to write 
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
|-
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===ReadInt===
+
===ReadByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadByte'''
 
|-
 
|-
| colspan="2" | Reads a 16-bit int value starting from the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
+
| colspan="2" | Reads a 8-bit byte value starting from the specified address. A 8-bit byte will consume 1 byte which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | StartAddress
+
| width="90%" | ByteAddress
 
|-
 
|-
| colspan="2" | Initial EE location to start reading 
+
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
Line 148: Line 144:
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 177: Line 173:
  
  
===WriteByte===
+
===ReadInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadInt'''
 
|-
 
|-
| colspan="2" | Writes a 8-bit byte value to the specified address. A 8-bit byte will consume 1 bytes which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
+
| colspan="2" | Reads a 16-bit int value starting from the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | ByteAddress
+
| width="90%" | StartAddress
 
|-
 
|-
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
+
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | Value
+
| width="90%" | MSBFirst
 
|-
 
|-
| colspan="2" | Floating point value to write 
+
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===WriteInt===
+
===ReadLong===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLong'''
 
|-
 
|-
| colspan="2" | Writes a 16-bit int value starting at the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
+
| colspan="2" | Reads a 32-bit long value starting from the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
Line 214: Line 210:
 
|-
 
|-
 
| colspan="2" | Initial EE location to start reading 
 
| colspan="2" | Initial EE location to start reading 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Value
 
|-
 
| colspan="2" | Floating point value to write 
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
Line 225: Line 216:
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 254: Line 245:
  
  
===Read===
+
===Write===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Read'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write'''
 
|-
 
|-
| colspan="2" | Reads a packet of bits from the EEPROM The number of bits read is 8 or 16, depending on the platform  
+
| colspan="2" | Writes a packet of bits from the EEPROM The number of bits written is 8 or 16, depending on the platform  
 
|-
 
|-
 
|-
 
|-
Line 266: Line 257:
 
| width="90%" | Address
 
| width="90%" | Address
 
|-
 
|-
| colspan="2" | The address, in elements, to read the data from 
+
| colspan="2" | The address, in elements, to write the data to 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Value
 +
|-
 +
| colspan="2" | The 8 or 16 bit value to store in EEPROM 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===ReadLong===
+
===WriteByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLong'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteByte'''
 
|-
 
|-
| colspan="2" | Reads a 32-bit long value starting from the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
+
| colspan="2" | Writes a 8-bit byte value to the specified address. A 8-bit byte will consume 1 bytes which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | StartAddress
+
| width="90%" | ByteAddress
 
|-
 
|-
| colspan="2" | Initial EE location to start reading 
+
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | MSBFirst
+
| width="90%" | Value
 
|-
 
|-
| colspan="2" | 0=LSB First, 1=MSB First 
+
| colspan="2" | Floating point value to write 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===WriteString===
+
===WriteFloat===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteString'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteFloat'''
 
|-
 
|-
| colspan="2" | Writes a string of data to the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
+
| colspan="2" | Writes a 32-bit float value starting at the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
Line 309: Line 305:
 
| width="90%" | StartAddress
 
| width="90%" | StartAddress
 
|-
 
|-
| colspan="2" | EE Address of the first character in the string 
+
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | MaxChars
+
| width="90%" | Value
 
|-
 
|-
| colspan="2" | The maximum number of characters to try and read plus null termination 
+
| colspan="2" | Floating point value to write 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | DataString
+
| width="90%" | MSBFirst
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 326: Line 322:
  
  
===Write===
+
===WriteInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteInt'''
 
|-
 
|-
| colspan="2" | Writes a packet of bits from the EEPROM The number of bits written is 8 or 16, depending on the platform  
+
| colspan="2" | Writes a 16-bit int value starting at the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Address
+
| width="90%" | StartAddress
 
|-
 
|-
| colspan="2" | The address, in elements, to write the data to 
+
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Value
 
| width="90%" | Value
 
|-
 
|-
| colspan="2" | The 8 or 16 bit value to store in EEPROM 
+
| colspan="2" | Floating point value to write 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | MSBFirst
 +
|-
 +
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 350: Line 351:
  
  
===ReadByte===
+
===WriteLong===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteLong'''
 
|-
 
|-
| colspan="2" | Reads a 8-bit byte value starting from the specified address. A 8-bit byte will consume 1 byte which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
+
| colspan="2" | Writes a 32-bit long value starting at the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | ByteAddress
+
| width="90%" | StartAddress
 +
|-
 +
| colspan="2" | Initial EE location to start reading 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 +
| width="90%" | Value
 
|-
 
|-
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
+
| colspan="2" | Floating point value to write 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
Line 369: Line 375:
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===WriteLong===
+
===WriteString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteLong'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteString'''
 
|-
 
|-
| colspan="2" | Writes a 32-bit long value starting at the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
+
| colspan="2" | Writes a string of data to the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
 
|-
 
|-
 
|-
 
|-
Line 386: Line 392:
 
| width="90%" | StartAddress
 
| width="90%" | StartAddress
 
|-
 
|-
| colspan="2" | Initial EE location to start reading 
+
| colspan="2" | EE Address of the first character in the string 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
+
| width="90%" | MaxChars
 
|-
 
|-
| colspan="2" | Floating point value to write 
+
| colspan="2" | The maximum number of characters to try and read plus null termination 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
+
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | MSBFirst
+
| width="90%" | DataString
 
|-
 
|-
| colspan="2" | 0=LSB First, 1=MSB First 
+
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  

Latest revision as of 13:10, 7 February 2023

Author Matrix Ltd
Version 1.2
Category EEPROM


EEPROM component

A means of reading data from and writing data to the EEPROM memory onboard the microcontroller. Fully functional with simulation but the target microcontroller must have EEPROM memory available to allow compilation to work.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EEPROM.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_EEPROM.fcfx

Detailed description

No detailed description exists yet for this component

Examples

The Console window can be used to show the contents of EE memory during simulation.

Image


Read and Write Bytes

Reads a value from location 0 in the EEPROM and writes back the value incremented by one, the values are displayed on to a LCD.

Starting and stopping the simulation or resetting the microcontroller will allow the program to resume counting from where it left off as opposed to a standard RAM based variable which would reset to an undetermined value. FC6 Icon.png EEPROM

Read and Write Ints

Reads a value from locations 0,1 in the EEPROM and writes back the value incremented by one, the values are displayed on to a LCD.

Starting and stopping the simulation or resetting the microcontroller will allow the program to resume counting from where it left off as opposed to a standard RAM based variable which would reset to an undetermined value. FC6 Icon.png EEPROM_INT

String variables in EE Memory

Example showing how to store and retrieve strings to and from the EEPROM memory. FC6 Icon.png EEStrings






Macro reference

Read

Fc9-comp-macro.png Read
Reads a packet of bits from the EEPROM The number of bits read is 8 or 16, depending on the platform  
Fc9-u16-icon.png - UINT Address
The address, in elements, to read the data from 
Fc9-u16-icon.png - UINT Return


ReadByte

Fc9-comp-macro.png ReadByte
Reads a 8-bit byte value starting from the specified address. A 8-bit byte will consume 1 byte which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
Fc9-u16-icon.png - UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u8-icon.png - BYTE Return


ReadFloat

Fc9-comp-macro.png ReadFloat
Reads a 32-bit float value starting from the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-f32-icon.png - FLOAT Return


ReadInt

Fc9-comp-macro.png ReadInt
Reads a 16-bit int value starting from the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u16-icon.png - UINT Return


ReadLong

Fc9-comp-macro.png ReadLong
Reads a 32-bit long value starting from the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u32-icon.png - ULONG Return


ReadString

Fc9-comp-macro.png ReadString
Reads a string of data from the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
Fc9-u16-icon.png - UINT StartAddress
EE Address of the first character in the string 
Fc9-u8-icon.png - BYTE MaxChars
The maximum number of characters to try and read plus null termination 
Fc9-string-icon.png - STRING Return


Write

Fc9-comp-macro.png Write
Writes a packet of bits from the EEPROM The number of bits written is 8 or 16, depending on the platform  
Fc9-u16-icon.png - UINT Address
The address, in elements, to write the data to 
Fc9-u16-icon.png - UINT Value
The 8 or 16 bit value to store in EEPROM 
Fc9-void-icon.png - VOID Return


WriteByte

Fc9-comp-macro.png WriteByte
Writes a 8-bit byte value to the specified address. A 8-bit byte will consume 1 bytes which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
Fc9-u16-icon.png - UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
Fc9-u8-icon.png - BYTE Value
Floating point value to write 
Fc9-void-icon.png - VOID Return


WriteFloat

Fc9-comp-macro.png WriteFloat
Writes a 32-bit float value starting at the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-f32-icon.png - FLOAT Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return


WriteInt

Fc9-comp-macro.png WriteInt
Writes a 16-bit int value starting at the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-u16-icon.png - UINT Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return


WriteLong

Fc9-comp-macro.png WriteLong
Writes a 32-bit long value starting at the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-u32-icon.png - ULONG Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return


WriteString

Fc9-comp-macro.png WriteString
Writes a string of data to the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
Fc9-u16-icon.png - UINT StartAddress
EE Address of the first character in the string 
Fc9-u8-icon.png - BYTE MaxChars
The maximum number of characters to try and read plus null termination 
Fc9-string-icon.png - STRING DataString
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-10-icon.png EE Size
Number of memory locations available in EEPROM onboard the target microcontroller. 
Fc9-type-10-icon.png EE Bit Depth
Number of bits in each EEPROM memory location onboard the target microcontroller. 
Fc9-type-10-icon.png Initial Values
Comma seperated list of values to assign to the EEPROM memory while programming the device. The simulation will automatically load these values into the simulated EE locations on simulation start. Leave blank to remove initialisation code from the compiled C code Supported Formats Decimal 0 - 255 Hexadecimal 0x00 - 0xFF ASCII character 'x' Strings "text" 
Fc9-type-7-icon.png Reset To Defaults
Decides what to do on a simulation start event. Siim data will reset to initial values after reloading project or changing initial values property. Yes: Resets the contents of the EEPROM data to the initial values. No: EEPROM contents will be retained between simulations.