Enthernet Code
DIIDevHeads IoT Integration Server
•Created by Dtynin on 9/4/2024 in #firmware-and-baremetal
How to Store Float Calculation Results in FLASH Memory on PIC16F877A Using MPLAB X IDE?
@Dtynin Storing floating-point results directly in FLASH memory on the
PIC16F877A
microcontroller is challenging because it doesn't support the __flash
qualifier for float data types. A practical solution is to convert the float to a storable format, such as a fixed-point integer or a byte array.
One approach is to scale the float I.e multiply by 100 and store it as an integer, allowing you to store the scaled value in FLASH and later retrieve and convert it back to float by dividing. Another approach is to convert the float into a byte array and store each byte individually in FLASH.
It's important to note that writing to FLASH at runtime has limitations and may require special routines due to the hardware restrictions of the microcontroller.6 replies