Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: IAP
Flash.h
00001 #ifndef _FLASH_H_MB_ 00002 #define _FLASH_H_MB_ 00003 00004 #include "mbed.h" 00005 #include "IAP.h" 00006 00007 // Data for NXP LPC1768 from data table which is explained in datasheet UM10360 page 626. 00008 #define MEM_SIZE 256 00009 #define TARGET_SECTOR 29 00010 00011 /** This is simple library for storing data to flash memory and 00012 * reading it. This allows us to have retain data without having to have 00013 * external flash chip. This class uses NXP LPC1768 internal flash memory 00014 * which give us 256B of flash size. 00015 * 00016 * Author: TVZ Mechatronics Team 00017 * 00018 * Example of use: 00019 * @code 00020 * #include "mbed.h" 00021 * #include "Flash.h" 00022 * 00023 * BusOut display(LED1, LED2, LED3, LED4); 00024 * InterruptIn cntUp(p5); 00025 * Timer debounceUp; 00026 * Flash flash; 00027 * 00028 * char retainData[MEM_SIZE]; 00029 * uint8_t counter; 00030 * 00031 * void countUp(void) { 00032 * if (debounceUp.read_ms() > 500) { 00033 * if (counter > 15) 00034 * counter = 0; 00035 * else 00036 * counter++; 00037 * 00038 * retainData[0] = counter; 00039 * flash.writeFlash(retainData); 00040 * 00041 * debounceUp.reset(); 00042 * } 00043 * } 00044 * 00045 * int main() { 00046 * cntUp.rise(&countUp); 00047 * debounceUp.start(); 00048 * 00049 * flash.readFlash(retainData); 00050 * counter = retainData[0]; 00051 * 00052 * while(1) { 00053 * display = counter; 00054 * } 00055 * } 00056 * @endcode 00057 */ 00058 class Flash { 00059 public: 00060 /** Constructor */ 00061 Flash(); 00062 /** Function recevies data array wich is stored in flash memory */ 00063 void writeFlash(char data[MEM_SIZE]); 00064 /** Function returning data to pointer to array of size 256 wich is stored in flash memory */ 00065 void readFlash(char *data); 00066 private: 00067 IAP iap; 00068 }; 00069 00070 #endif
Generated on Wed Jul 13 2022 21:11:15 by
1.7.2