engin center / Mbed 2 deprecated FlashExample

Dependencies:   mbed Flash

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "flashwrapper.h"
00003 
00004 int main()
00005 {   
00006    /*Определение типа данных для хранения в ОЗУ*/
00007    typedef struct
00008    {
00009     float a;
00010     uint32_t b;
00011     uint16_t c;
00012     uint8_t d;       
00013     }bab_t;
00014    
00015    /*Обменник данными с флэш-памятью*/
00016    typedef union {
00017     /*Структурное представление для использования с ОЗУ*/
00018     bab_t a;    
00019     /*битовое представление для чтения и записи*/
00020     uint32_t b[sizeof(bab_t)/sizeof(uint32_t)/*+другие структуры так же*/];
00021     }exchanger_t;    
00022     
00023     /*Создаём экземпляр обменника данных*/
00024     exchanger_t bufer;    
00025     /*Инициализируем*/
00026     bufer.a.a=0.67;
00027     bufer.a.b=5000000;    
00028     bufer.a.c=60000;
00029     bufer.a.d=150;    
00030    /*Записываем и считываем обратно*/
00031    char q=sizeof(bab_t)/sizeof(uint32_t);
00032    flashWrite(0,bufer.b,q);
00033    for(int i=0;i<q;i++)
00034    {bufer.b[i]=flashRead(i*4);}
00035    
00036    /*Проверяем целостность данных*/
00037    printf("Value = %f\r\n",bufer.a.a);
00038    printf("Value = %d\r\n",bufer.a.b);
00039    printf("Value = %d\r\n",bufer.a.c);
00040    printf("Value = %d\r\n",bufer.a.d); 
00041    
00042    
00043 }