RTOS spørgsmål

G

GrandAlf

Guest
Antages det, at du har en hovedopgave og en anden opgave således.hovedopgave 0
start opgave 1
gøre noget
tidsforsinkelse 20 flåter

Opgave 1
x = getkey eller nogle loop venter på input
tidsforsinkelse 5 flåter

Nu er spørgsmålet, i task1 da det er i kraft i en løkke venter på input, det kan aldrig komme til forsinkelsen kryds rutine.Betyder det, at det er tændt i hvert
5. flåter, eller faktisk kun, når den får et input.Eller faktisk er det skiftes på rtos standardindstilling, og de 5 flåter har ingen virkning, indtil nået.Ikke rigtig sikker på om mekanikken i forbindelse med operationen.nogen clued op på dette?

 
Når enhver opgave kalder forsinkelse flåter, det vil blive blokeret, og give slip på CPU til andre opgaver.

hovedopgave 0
start opgave 1
gøre noget
tidsforsinkelse 20 flåter / / opgive CPU, task1 vil blive henrettet

Opgave 1
x = getkey eller nogle input / / loop venter er ikke god praksis i RTOS
tidsforsinkelse 5 tæger / / opgave 1 blokerede for 5 flåter, opgave 0 vil blive henrettet

 
Når Opgave 1 begynder henrettelser og jeg lavede til at vente på nogen ressourcer gerne input fra brugeren og straks Scheduler pre hindre eller pends denne opgave, som jeg wating for eventuelle andre midler derefter CPU så henrettelserne til opgave), eller hvad nogensinde opgave og genoptages, når opgaven 1 er klar

 
Jeg er enig med Epegic

hovedopgave 0
start opgave 1
gøre noget
tidsforsinkelse 20 flåter / / opgive CPU, task1 vil blive henrettet

Opgave 1
x = getkey eller nogle input / / loop venter er ikke god praksis i RTOS
tidsforsinkelse 5 tæger / / opgave 1 blokerede for 5 flåter, opgave 0 vil blive henrettet

 
Ja, du er korrekt, når du angive, at Opgave 1 vil ikke nå forsinkelsen kryds rutine, indtil den får et input.Derfor er den "forsinkelse 5 flåter" erklæring har ingen virkning, indtil det er nået.

Hvis "getkey" rutinemæssigt suspenderer venter på en tast, Opgave 1 vil naturligvis blive skiftet ud, når den kræver getkey.Når den modtager en nøgle, vil det være slået i.

Hvis Opgave 1 er i en løkke venter på en tast, vil det ikke være skiftet ud .... medmindre hovedopgave 0 er højere prioritet.Derefter hovedopgave 0 vil foregribe Opgave 1 hvert
20. flåter.

 
GrandAlf wrote:

Antages det, at du har en hovedopgave og en anden opgave således.hovedopgave 0

start opgave 1

gøre noget

tidsforsinkelse 20 flåterOpgave 1

x = getkey eller nogle loop venter på input

tidsforsinkelse 5 flåterNu er spørgsmålet, i task1 da det er i kraft i en løkke venter på input, det kan aldrig komme til forsinkelsen kryds rutine.
Betyder det, at det er tændt i hvert 5. flåter, eller faktisk kun, når den får et input.
Eller faktisk er det skiftes på rtos standardindstilling, og de 5 flåter har ingen virkning, indtil nået.
Ikke rigtig sikker på om mekanikken i forbindelse med operationen.
nogen clued op på dette?
 

Welcome to EDABoard.com

Sponsor

Back
Top