[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