[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