[elektro] STM32f4 interrupt : volatile tombok

Pal Lukacs ekegep at yahoo.com
Fri Dec 13 15:21:17 CET 2013


Sziasztok !

Ugy volt beallitva a prioritas, hogy az ITk egymast nem szakithattak meg.
Gondolom ez volt a problema.
At allitottam a prioritas configot, most elvileg meg tudjak szakitani a systick-et az i2s ITk, de egymast nem. Most jol mukodik a dolog.

Rotary beolvasasra kellett a gyakori beolvasas, ezert a systick IT.
Igaz, az sprintf-et is at fogom rakni a mainbe, a kijelzes amugy is ott van.
Csak a menu vaza kerul az IT-be.
Idaig ket rotaryt szepen kiszolgal, nincs baja.

Udv.
Szabi






On Friday, December 13, 2013 10:59 AM, Móczik Gábor <pm_levlista at progzmaster.hu> wrote:
 
2013.12.12. 15:41 keltezéssel, Pal Lukacs írta:
> Tovabbi erdekessege a dolognak, hogy egy rotary tick-re megszunik a dac kimeneten a zaj , kovetkezo tickre ujra elindul :)
>
> Ez az egesz rotarys dolog, amugy tesztelve van, es main-ben jol mukodik.
> (Csak eppen nem er ra a main, gondoltam teszem IT-be a menu vazat, a tobbit main-ben flagek alapjan , pl. kijelzes.)


Az sprintf vagy a freq change miatt romlik el?

Az IT is a main idejét veszi el, tehát ha IT-ben van idő, akkor main-ben 
is kell legyen. Gondolom nagy hosszú számítást egyben végzel, és darabos 
az egyéb dolgok végrehajtása, ezért tetted az IT-be...

Nem lenne jobb felbontani a számítást kisebb végrehajtási idejű 
lépésekre, és közben meghívni a kijelzés és egyéb műveleteket?
Gyakorlatilag kooperatív multitaszk.

Ha a kijelzés úgyis a main-be kerül, akkor szerintem a kijelzés elé tedd 
be az sprintf-et, az ISR-be csak flag-et. Gondolom úgyis csak 
kijelzéskor kell a string, interruptban kár ezzel húzni az időt.


-----------------------------------------
          elektro[-flame|-etc]


More information about the Elektro mailing list