RTOS questione

G

GrandAlf

Guest
Supponendo che hai un compito principale e un secondo compito così.compito principale 0
avviare Task 1
fare qualcosa
tempo di ritardo 20 zecche

Compito 1
x = getkey o alcuni loop di attesa per l'ingresso
di tempo 5 zecche

Ora la questione è, in task1 come è in effetti in un ciclo di attesa per l'ingresso, non può mai arrivare a barrare il ritardo di routine.Ciò significa che è acceso in ogni 5 zecche, o di fatto solo quando si riceve un input.Oppure è acceso presso l'RTOS impostazione predefinita, il 5 e zecche non ha alcun effetto fino al raggiunto.Non proprio sicuri i meccanismi di funzionamento.clued nessuno fino a questo proposito?

 
Ogni volta che qualsiasi compito chiamata ritardo zecche, sarà bloccata e relinguish CPU per altri task.

compito principale 0
avviare Task 1
fare qualcosa
tempo di ritardo zecche 20 / / CPU rinunciare, task1 sarà eseguito

Compito 1
x = getkey o alcuni input / / ciclo di attesa non è una buona prassi in RTOS
di tempo 5 zecche / / 1 compito bloccato per 5 zecche, 0 compito sarà eseguito

 
Quando inizia esecuzioni task 1 e ho fatto attendere, come tutte le risorse di input da utente e ritardi, di pianificazione pre empts o che pende compito che i wating per altri quindi tutte le risorse della CPU in modo che il compito di esecuzioni) o che cosa mai compito e quando riprende il compito 1 è pronto

 
Sono d'accordo con Epegic

compito principale 0
avviare Task 1
fare qualcosa
tempo di ritardo zecche 20 / / CPU rinunciare, task1 sarà eseguito

Compito 1
x = getkey o alcuni input / / ciclo di attesa non è una buona prassi in RTOS
di tempo 5 zecche / / 1 compito bloccato per 5 zecche, 0 compito sarà eseguito

 
Sì, lei ha ragione quando affermano che Task 1 non raggiungerà il ritardo barrare di routine fino a quando non riceve un input.Pertanto, il "ritardo 5 zecche" dichiarazione non ha effetto fino a quando non è raggiunto.

Se il "getkey"
di routine sospende in attesa di una chiave, Task 1 sarà naturalmente acceso quando si chiede getkey.Quando si riceve un tasto, sarà acceso
pollici
Se Task 1 è in un ciclo di attesa per una chiave, non sarà acceso fuori .... a meno che 0 è il compito principale priorità più elevata.Quindi, compito principale sarà 0 anticipare Task 1 ogni 20 zecche.

 
GrandAlf ha scritto:

Supponendo che hai un compito principale e un secondo compito così.compito principale 0

avviare Task 1

fare qualcosa

tempo di ritardo 20 zeccheCompito 1

x = getkey o alcuni loop di attesa per l'ingresso

di tempo 5 zeccheOra la questione è, in task1 come è in effetti in un ciclo di attesa per l'ingresso, non può mai arrivare a barrare il ritardo di routine.
Ciò significa che è acceso in ogni 5 zecche, o di fatto solo quando si riceve un input.
Oppure è acceso presso l'RTOS impostazione predefinita, il 5 e zecche non ha alcun effetto fino al raggiunto.
Non proprio sicuri i meccanismi di funzionamento.
clued nessuno fino a questo proposito?
 

Welcome to EDABoard.com

Sponsor

Back
Top