Ukladani nastaveni v programu pro MCU
Zdeněk Aster
Zdenek.Aster na seznam.cz
Středa Červen 1 15:28:27 CEST 2016
Zeptám se blbě, já když mám konfigurační strukturu kterou ukládám do eeprom,
tak ji vezmu celou jako balík a zapíšu ji do eeprom a nezajímámě co v ní je,
zajímá
mě jen jak je velká a kam ji v eprom uložit. A pak si ji zpět načtu do ram,
to použít nejde?
Zdeněk Aster
---------- Původní zpráva ----------
Od: hwnews konference <hwnews na cncnet.info>
Komu: HW-news <hw-list na list.hw.cz>
Datum: 1. 6. 2016 15:01:59
Předmět: Re: Ukladani nastaveni v programu pro MCU
"
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
(mailto: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(mailto: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-32
bitu - 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(http://www.HW.cz)
Hw-list na list.hw.cz(mailto:Hw-list na list.hw.cz)
http://list.hw.cz/mailman/listinfo/hw-list
(http://list.hw.cz/mailman/listinfo/hw-list)
"
_______________________________________________
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/aaed884b/attachment-0001.html>
Další informace o konferenci Hw-list