Jump to content

Component: EEPROM (EEPROM): Difference between revisions

From Flowcode Help
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead""
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
Line 110: Line 110:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Read'''
| width="90%" class="mtx-class-macrohead" | '''Read'''
|-
|-
| 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" | Reads a packet of bits from the EEPROM The number of bits read is 8 or 16, depending on the platform  
Line 129: Line 129:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadByte'''
| width="90%" class="mtx-class-macrohead" | '''ReadByte'''
|-
|-
| 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" | 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. 
Line 153: Line 153:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFloat'''
| width="90%" class="mtx-class-macrohead" | '''ReadFloat'''
|-
|-
| colspan="2" | 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. 
| colspan="2" | 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. 
Line 177: Line 177:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadInt'''
| width="90%" class="mtx-class-macrohead" | '''ReadInt'''
|-
|-
| 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 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. 
Line 201: Line 201:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLong'''
| width="90%" class="mtx-class-macrohead" | '''ReadLong'''
|-
|-
| 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" | 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 225: Line 225:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadString'''
| width="90%" class="mtx-class-macrohead" | '''ReadString'''
|-
|-
| colspan="2" | 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. 
| colspan="2" | 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. 
Line 249: Line 249:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write'''
| width="90%" class="mtx-class-macrohead" | '''Write'''
|-
|-
| 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 packet of bits from the EEPROM The number of bits written is 8 or 16, depending on the platform  
Line 273: Line 273:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteByte'''
| width="90%" class="mtx-class-macrohead" | '''WriteByte'''
|-
|-
| 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" | 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. 
Line 297: Line 297:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteFloat'''
| width="90%" class="mtx-class-macrohead" | '''WriteFloat'''
|-
|-
| 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" | 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 326: Line 326:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteInt'''
| width="90%" class="mtx-class-macrohead" | '''WriteInt'''
|-
|-
| 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" | 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. 
Line 355: Line 355:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteLong'''
| width="90%" class="mtx-class-macrohead" | '''WriteLong'''
|-
|-
| 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 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. 
Line 384: Line 384:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteString'''
| width="90%" class="mtx-class-macrohead" | '''WriteString'''
|-
|-
| 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 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 414: Line 414:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-

Latest revision as of 14:23, 13 July 2026

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. 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. EEPROM_INT

String variables in EE Memory

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






Macro reference

Read

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


ReadByte

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. 
- UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- BYTE Return


ReadFloat

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. 
- UINT StartAddress
Initial EE location to start reading 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- FLOAT Return


ReadInt

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. 
- UINT StartAddress
Initial EE location to start reading 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- UINT Return


ReadLong

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. 
- UINT StartAddress
Initial EE location to start reading 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- ULONG Return


ReadString

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. 
- UINT StartAddress
EE Address of the first character in the string 
- BYTE MaxChars
The maximum number of characters to try and read plus null termination 
- STRING Return


Write

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


WriteByte

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. 
- UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
- BYTE Value
Floating point value to write 
- VOID Return


WriteFloat

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. 
- UINT StartAddress
Initial EE location to start reading 
- FLOAT Value
Floating point value to write 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- VOID Return


WriteInt

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. 
- UINT StartAddress
Initial EE location to start reading 
- UINT Value
Floating point value to write 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- VOID Return


WriteLong

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. 
- UINT StartAddress
Initial EE location to start reading 
- ULONG Value
Floating point value to write 
- BOOL MSBFirst
0=LSB First, 1=MSB First 
- VOID Return


WriteString

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. 
- UINT StartAddress
EE Address of the first character in the string 
- BYTE MaxChars
The maximum number of characters to try and read plus null termination 
- STRING DataString
 
- VOID Return


Property reference

Properties
EE Size
Number of memory locations available in EEPROM onboard the target microcontroller. 
EE Bit Depth
Number of bits in each EEPROM memory location onboard the target microcontroller. 
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" 
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.