Ukladani nastaveni v programu pro MCU

Pavel Hudecek edizon na seznam.cz
Středa Červen 1 14:47:39 CEST 2016


Udělal bych jednu velkou nadřazenou strukturu, ve které to všechno bude. K ní se pak dá přes pointer přistupovat jako k poli a po bajtech kopírovat mezi EEPROM a RAM.

PH

From: hwnews konference 
jiz po nekolikate nad tim dumam a nejsem schopny se rozmyslet jak vec resit...

Rozhodl jsem se prastit do toho MPPT solarniho reglu a nejak jej dotahnout aby byl i uzivatelsky privetivy - hlavne jde o to jej nejak rozumne konfigurovat z nejakeho terminalu.

Jenze nez jsem se dostal k tomu tak jsem zjistil, ze prvotni bude vubec ta data nejak zorganizovat abych se moc nedrel...

V nastaveni reglu je radove desitky konfiguracnich promennych v rozsahu 8-32bitu - navic je nelze menit jednu po druhe, nebot nektere jsou spolu svazane - je tedy nutne mit pracovni banku registru a pak tu konfiguracni a nejakym pokynem z terminalu se to z te konfiguracni prepise cele do te pracovni.

Dalsi vec je, ze pracovni banka by mela byt ulozena v EEPROM, ktera je organizovana osmibitove musim tedy mit nejak zorganizovano kde co konci...

zatim jsem se propracoval k nadefinovani typu registru:

type Reg_dword = record
    modi           : boolean;  //modifikace konfiguracni banky
    r0             : dword;   // pracovni banka
    r1             : dword;   // konfiguracni banka
    eeprom         : word;  //pocatecni adresa
    delka          : byte;    //pocet byte registru v EEPROM
end;

type Reg_word = record
    modi           : boolean;
    r0             : word;
    r1             : word;
    eeprom         : word;
    delka          : byte;
end;

type Reg_byte = record
    modi           : boolean;
    r0             : byte;
    r1             : byte;
    eeprom         : word;
    delka          : byte;
end;

tohle ale resi popis tech vlastnich promennych - neresi to silenou pracnost s modifikacema a hromadnymi operacemi - idelani by bylo mit moznost tyhle registry v nejakem poli, kde jej pak mohu v prikazech terminalu snadno trefovat stylem pole[1].r0 a v cyklech treba ukladat do EEPROM aniz bych musel striktne resit adresovani - stacilo by si v cyklu pripocitavat aktualni adresu.
Problem je, ze do pole ruzne recordy nenacpu nebo nevim jak na to....
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160601/66e33008/attachment.html>


Další informace o konferenci Hw-list