[elektro] PIC , EEPROM-ba irás hogyan?
elight
elight at ele.hu
Wed Jul 7 15:11:58 CEST 2010
Szia,
Sajnos lutaság,
használok sok C függvényt
Delay_ms és társait..
és nem lenne jo ujaírni,
mert már sokminden teljeskörűen tesztelve vagyon..
Közben egy igéretes félmegoldás született...
az INT rutin figyeli a 24V megszüntét,
A pufferkondit megnöveltem,
hogy a fesz eltünéstől a proc még 200 msec-ig
jól működjön, ha a priférákat lekepcsolt állapotba hozom.
Tehát van ideje, először a prifériákat LOCK-olni
(vagyis átadnom egy határozott állapotnak..)
Utána már a main rutinba pedig kiléphetek időben
a kezelőmódból prsze , ha ott van ,
valamint zárolom az szabályzást is ..
Ha éppen irás vagy mérés van , akkor meg az INT-ben várok
míg be nem fejezi a megkezdett műveletet....
Na ezeket a rutinokat jelenleg nem szerettem volna
az INT-be átpakolászni,
mert akkor meg ott okoznak torlódást.
Ha nő a táp ujra, akkor melegstart..
ha nem akkor elment végleg a táp,
és majd ha visszajön ,
a reset után hidegstart..
Nagyon átkonstruálni már nincs időm.
ez az áramszünet utolagosan felmerülő gond,
egyenlőre talán igy is jó lehetne.
Az elején megijedtem,
hogy még sokmindenbe bele kell e nyulni,
de talán mégse.
Üdv István
2010.07.07. 14:26:51 dátumon potyo <potyo.ada at gmail.com> írta:
> Miért nem írod ki akkor, amikor a változtatásokat csinálod a
> beállításokban? Meg én átszervezném a programot, hogy ne legyenek
> ilyen várakozások benne, ami alatt nem csinál semmit a kontroller.
>
> Az a rész nem világos, hogy mi az, hogy csak egyszer írná ki vagy
> olvasná be? Vagy ez valami olyan, hogy ötpercenként üzemszerűen táp
> nélkül marad a pic? Mert akkor talán valami akkut vagy
> szuperkapacitást tennék mellé, amiből el tud lenni alacsony órajelen
> addig, amíg vissza nem jön a táp. Ha teszel mondjuk 1F-ot, akkor abból
> elvan 1mA áramfelvétel mellett majdnem 20 percig, mire 5V-ról 4V-ra
> csökken a táp. Meg azt a tápfigyelést nem teljesen értem. Én úgy
> csinálnám, hogy a pic tápját előállító stabilizátor előtti puffer elé
> tennék egy soros diódát, és a dióda anódjáról vezetném be a tápot
> valami ellenállásosztóval a pic lábára. Ha itt magas a szint, akkor
> van táp, ha alacsonnyá válik, akkor megszűnt a betáp, perifériákat
> azonnal lekapcsolni, órajelet lejjebb venni és mehet az eprom írás,
> utána pedig végtelen ciklusban figyelném az említett lábat, hogy vajon
> visszajött-e. Ha visszajön, akkor indulhat vissza az egész, ha nem jön
> vissza, akkor meg a brown-out-reset elintézi a többit.
>
> elight <elight at ele.hu> írta (2010. július 7. 12:38):
>> Sziasztok,
>>
>> PIC programban ... pl PIC18F2420 IC
>>
>> logikailag a következőt szereném megoldani..
>>
>> Ha a PIC indul , a beállításokat betöltöm RAM-ba
>>
>> A programban szükség szerint módosítgatom ezt a területet..
>>
>> DE Ha áramszünet jöm , akkor ki szeretném írni EEROM-ba ujra..
>>
>> Az áramszünetet INT rutinnal a bejövő tápfesz
>>
>> közvezlen mérésével oldanám meg, kb 1 mSec-onként T0 INT-el.
>>
>>
>>
>> A gondom, hogy az EEPROM iró függvényt, mivel máskor is
>>
>> használt, a fordító nem engedi két helyről meghívni..
>>
>> Gondolom valamiféle FLAG-el megoldható, hogy uton utfélen a
>>
>> várakozós részekből kilépjen és azonnal EEPROM-ot írjon
>>
>> a főhurokban..
>>
>> De ekkor rengeteg helyen bele kellene írni és teszteni..
>>
>>
>> Létezik e erre a problémára valamiféle elegánsabb megoldás..
>>
>> Az is jo lenne, ha leseséskor csak egyszer írna ki
>>
>> és várná, hogy ujra megnő a fesz , vagy resetre teljesen
>>
>> lefagy a proc..
>>
>>
>> És ha megnő a fesz ujra, természetesen a határérték fölött meg
>>
>> egyszer olvasná ujra be az értékeket.
>>
>> Nem tudom elég világos voltam?
>>
>> Üdv István
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
--
Az Opera forradalmian új levelezőjét használva: http://www.opera.com/mail/
More information about the Elektro
mailing list