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