Ukladani nastaveni v programu pro MCU

hwnews konference hwnews na cncnet.info
Středa Červen 1 15:01:36 CEST 2016


No to ano, ale otazka je jak ta struktura ma vypadat...a to uz vubec
nemluvim o tom, ze by bylo fajn kdyby neutrpela citelnost programu, kde
misto

    rUpanic        : Reg_word;                //Upanic - napeti pri kterem
se vse zastavi - bitove rozliseni - EEPROM 20-21
    rDifSolBat     : Reg_word;                //DifSolBat - mV rozdil mezi
panelem a baterii pro start menice - EEPROM 10-11
    rUtopeniOn     : Reg_word;                //UtopeniOn - mV napeti pri
kterem zapinam externi zatez - EEPROM 1A-1B
    rUtopeniOff    : Reg_word;                //UtopeniOff - mV napeti pri
kterem vypinam externi zatez - EEPROM 1C-1D
    rUnoc          : Reg_word;                //mV napeti na vstupu
znamenajici noc - EEPROM 2E-2F
    rUden          : Reg_word;                //mV napeti na vstupu
znamenajici den - EEPROM 30-31

budu mit jen pole[0] pole[1] atd..


Dne 1. června 2016 14:47 Pavel Hudecek <edizon na seznam.cz> napsal(a):

> 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 <hwnews na cncnet.info>
> 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....
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160601/9f0a0771/attachment.html>


Další informace o konferenci Hw-list