I recently migrated my project from Flowcode 8 to Flowcode 10 and encountered unexpected behavior when writing to EEPROM.
In the original Flowcode 8 code, I used EEPROM.Write() to store individual bytes. After the migration, I noticed that EEPROM.Write() in Flowcode 10 might perform 8- or 16-bit writes depending on the context, so I switched to EEPROM.WriteByte() to ensure a single byte is written.
While the new implementation works correctly in the emulator, it fails when running on real hardware.
The relevant sequence of operations in the program is:
Code: Select all
Block: EEPROM.WriteByte(0x0020, .0X01)
Block: EEPROM.WriteByte(0x0021, .0X03)
Block: EEPROM.WriteByte(0x0022, .0X01)
Block: EEPROM.WriteByte(0x0023, .0X01)
Code: Select all
F020 00 00 00 00 00
Notably, this code was working properly on the PIC16F18345. I recently resolved another migration issue involving this target with the help of a library update, so I’m wondering if this EEPROM issue might be related to the same update or to differences in EEPROM handling between the two devices.
Could you please advise whether this is a known issue or provide any recommendations for further debugging?
Best regards,
Fernando