Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica
FUNCTII RTK, Functii de gestionare a timpului, a semafoarelor, a cutiilor postale, a mesajelor

FUNCTII RTK, Functii de gestionare a timpului, a semafoarelor, a cutiilor postale, a mesajelor


FUNCTII RTK

1.     Functia RTKernelInit initializeza nucleul RTK si are urmatoarea forma generala -TaskHandle RTKernelInit(unsigned MainPrio);.


2.     Functia RTKeybrdInit initializeaza driverul consolei si are urmatoarea forma generala - void RTKeybrdInit(void);





3.     Functia RTKCreateTask permite creerea unui nou task din alt task si are urmatoarea forma generala: -TaskHandle RTKCreateTask(void *TaskCode(void), Unsigned Priority,unsigned Stack, char *name);


4.     Functia RTKSuspend permite dezactivarea unui task,respectiv trecerea sa in starea Suspended si are urmatoarea forma generala:--void RTKSuspended(TaskHandle Handle); In care parametrul handle se refera la taskul care urmeaza a fi dezactivat(trecut in starea Suspended).Dca taskul era déjà suspendat functia nu are effect.


5.     Functia RTKResume permite activarea unui task,respective trecera sa in starea Ready si are urmatoarea forma generala -- void RTKResume(TaskHandle Handle);.in care parametrul Handle refera taskul care urmeaza a fi activat(trecut in starea Ready).Dca taskul nu era suspendat functia nu are effect.


6.     Functia RTKSetPriority serveste la schimbarea prioritatii taskului referitsi are urmatoarea forma generala:-void RTKSetPriority(TaskHandle Handle,unsigned Priority);in care parametrul Handle refera taskul a carui prioritate se va schimba iar Priority reprezinta noua prioritate.


7.     Functia RTKGetTaskState returneza intr-o varibila de tip TaskState(limbaj C) starea taskului referit prin handle si are forma:-- TaskState RTKGetTaskState(TaskHandle Handle); .Dupa executie se returneza o valoare care corespunde uneia dintre starile sau substarile in care se gaseste taskul :--Ready-Current-Suspended(RTKSuspended)-Delaying(RTKDelay)-BlockedWait(RTKWait)-TimedWait(RTKWaitTimed)-BlockedPut(RTKPut)-BlockedGet(RTKGet)-TimedPut(RTKPutTimed)-TimedGet(RTKGetTimed)-BlockedSend(RTKSend)-BlockedRceive(RTKReceive)-TimedSend(RTKSendTimed)-TimeReceived(RTKReceiveTimed)-Deadlocked(interblocare)-Terminated(RTKTerminate).


8.     Functia RTKGetTaskPrio returneza intr-o variabila de tip unsigned prioritatea taskului referit prin handle si are forma gen:--unsigned RTKGetTaskPrio(TaskHandle Handle); .


9.     Functia RTKGetTaskStack returneza intr-o variabila de tip unsigned spatiul liber din stiva taskului referitprin handle si are forma: unsigned RTKGetTaskStack(TaskHandle Handle); .


Functii de gestionare a timpului


10.  Functia RTKSetTime poate fi utilizata ptr setarea ceasului intern la o valoare dorita si are forma :--void RTKSetTime(Time NewTime); in care parametrul NewTime este de tipul Time si reprazinta valoarea in ticks(1 timer tick =55milisecunde)la care va fi settat ceasul.


11.  Functia RTKGetTime poate fi utilizata penrtu citirea ceasului intern intr-o variabila de tip Time si are forma:--Time RTKGetTime(void); .


12.  Functia RTKDelay blocheza taskul appelant pentru un interval specificat printr-o variabila de tip duration si are forma generala:-- void RTKdelay(Duration Ticks); in care numarul de cuante ticks se obtine cu relatia Ticks=18 x ∆t unde ∆t reprezinta intervalul de temporizare exprimat in secunde.



13.  Functia RTKDelayUntil permite executia taskului apelant pana la un moment impus de numarul de Ticks care figureaza ca parametru al functiei si are forma generala:-- void RTKdelayUntil(Time Ticks); .


14.  Char RTGetCh -Instructiune cepreia codul ASCII al tastaturii si il transforma in variabile de tip character.


Functii de gestionare a semafoarelor


15.  Functia RTKCreateSemaphore permite creerea si initializarea unui semafor si are umat.form -Semaphore RTKCreateSemaphore(SemaType Typ,unsigned InitialValue, char *Name);.

Parametrul Typ din lista de argument de tipul SemaType indica tipul semaforului si anume Binary pentru tipul binary respective Counting ptr tipul intreg.InitialValue indica val initiala a noului semafor(0sau1 ptr semafor binary sau una din valorile 0,1,...65535 ptr un semafor general).


16.  Functia RTKCreateSemaValue permite returnarea intr-o variabila de tip intreg fara semn a numarului de evenimente memorat intr-un semafor si are forma generala: --unsigned RTKSemaValue(Semaphore S); in care S indica semaforul referit .


17.  Functia RTKSignal memoreza un eveniment intr-un semafor si are urmatoarea forma gen. -void RTKSignal(Semaphore S); in care S indica semaforul referit.Aceasta fnct asigura incrementarea semaforului S,respective a operatiei V(S).


18.  Functia RTKWait retrage(sterge)un eveniment dintr-un semafor si are urmatoarea forma gen. :-void RTKSWait(Semaphor S); in care S indica semaforul referit.-Decrementeaza semaforul,respective operatia P(S).


19.  Functia RTKWaitCond retrage(sterge)un eveniment dintr-un semafor numai daca un asemenea eveniment este disponibil si are urmatoarea forma generala: --bool RTKSWaitCond(Semaphore S);unde S indica semaforul referit.


20.  Functia RTKWaitTimed retrage,(sterge)un eveniment dint-un semafor,numai daca un asemenea eveniment este disponibil sau devine disponibil intr-un interval de timp precizat printr-o variabila de tip Duration si are forma: --bool RTKSWaitTimed(Semaphore S,Duration Timeout); in care S indica semaf.referit.


Functii de gestionare a cutiilor postale


21.  Functia RTKCreateMailbox permite creerea si initializarea unei cutii postale si are urmat. forma:--Mailbox RTKCreateMailbox(unsigned DataLen,unsigned Slots, char *Name); Parametrul DataLen de tipul unsigned=lung.in octeti a mesajelor ce pot fi inscrise in CP

Parametrul Slots de tipul unsigned=nr max de msj ce pot fi inscrise in CP.

Name=pointer de max 15 caractere.

Functia RTKCreateMailbox intoarce o valoare intr-o variabila de tip Mailbox cu ajutorul careia va putea fi referita noua cutie postala.semafor.



22.  Functia RTKMessges permite returnarea intr-o variabila de tip intreg fara semn ,a numarului de mesaje memorateintr-o cutie postal si are forma:--unsigned RTKMesages(Mailbox Box); in care parametrul Box este asociat cutiei respective.


23.  Functia RTKClearMailbox realizeza stergerea continutului unei cutii si are urmatoarea forma generala:--void RTKClearMailbox(Mailbox Box); in care parametrul Box este asociat CP referite.


24.  Functia RTKPut permite depunerea unui mesaj intr-o cutie postal si are urmatoare forma generala:--void RTKPut(Mailbox Box, void *Data); in care variabila Box de tipul Mailbox refera CP in care se face depunerea ,iar *Data este un pointer la data care se depune.


25.  Functia RTKGet permite preluarea unui mesaj dintr-o cutie postal si are urmatoarea forma generala :-- void RTKGet(Mailbox Box, void *Data); in care variabila Box de tipul Mailbox refera CP din care se face extragerea ,iar *Data este un pointer la data in care se depune mesajul extras din cutia postala.


26.  Functia RTKPutCond asigura depunerea unui mesaj intr-o cutie postala, numai daca exista spatiu disponibil.Forma generala a functiei este cea de mai jos : -- bool RTKPutCond(Mailbox Box, void *Data) ; in care Box reprezinta cutia postala referita, iar *Data este un pointer la data care se depune.


27.  Functia RTKGetCond permite preluarea unui mesaj dintr-o cutie postala, numai daca un asemena mesaj este disponibil.Forma generala a functiei este cea de mai jos: -- bool RTKGetCond (Mailbox Box, void *Data) ; in care Box reprezinta cutia postala referita, iar *Data este un pointer la data care se depune


28.  Functia RTKPutTimed asigura depunerea unui mesaj intr-o cutie postala, numai daca existaspatiu disponibil, sau se creeaza spatiu intr-un interval de timp precizat printr-o variabila de tip Duration. Functia are forma generala de mai jos : bool RTKPutTimed (Mailbox Box, void *Data,Duration Timeout) ;.


29.  Functia RTKGetTimed faciliteaza extragerea unui mesaj dintr-o cutie postala, numai daca un asemenea mesaj exista sau apare intr-un interval de timp precizat printr-o variabila de tip Duration. Functia are urmatoarea forma generala de mai jos: bool RTKGetTimed (Mailbox Box, void *Data,Duration Timeout) ; In care box reprezinta CP referita, *Data este un pointer la data care se depune iar Timeout intervalul de timp in care se asteapta creearea de spatiu.



Functii de gestionare a mesajelor

30.  Functia RTKSend asigura transmiterea unui mesaj catre un task destinatar si are forma generala: void RTKSend (TaskHandle Reciver, void *Data) ;.In care parametrul reciver este un handler al taskului receptor iar *Data reprezinta un pointer la data care se depune.


31.  Functia RTKReceive permite receptionarea unui mesaj de la un task receptor si are forma generala : void RTKReceive (void *Data, unsigned DataLen) ; in care *Data reprezinta un pointer la data care se depune iar DataLen lungimea in octeti a mesajului asteptat.


32.  Functia RTKSendCond asigura transmiterea datelor altui task cu conditia ca taskul receptor sa fie gata sa accepte imedia datele.Daca aceasta conditie nu este indeplinita se continua executia taskului transmitator fara a se transmite date.Forma generala a functiei este urmatoarea:Bool RTKSendCond (TaskHandle Receiver, void *Data) ; in care parametrul receiver este un handler (variabila de tip TaskHandle) al taskului receptor , iar *Data este un pointer la datele care se transmit.


33.  Functia RTKReiceiveCond asigura preluarea datelor de la un alt task, cu conditia ca acesta sa fie gata sa le transmita imediat.Daca aceasta conditie nu este indeplinita continua executia taskului receptor fara a se prelua datele. Forma generala a functiei este urmatoarea : RTKReceiveCond (void *Data, unsigned DataLen) ; in care *Data este un pointer la datele care se transmit , iar DataLen lungimea in octeti a mesajului aceptat.


34.  Functia RTKSendTimet asigura trimiterea unui mesaj numai daca taskul destinatar devine disponibil pentru receptive intr-un interval de timp precizat printr-o variabila de tip Duration.Functia are forma: bool RTKSendTimed (TaskHandle Receiver, void *Data Duration Timeout) ; in care parametrul Receiver este un handler al taskului receptor, *Data este un pointer la data care se depune Timeout intervalul de timp in care se asteapta disponibilizarea taskului receptor.


35.  Functia RTKReceiveTimed faciliteaza receptia unui mesaj, numai daca un task emitator devine disponibil pentru transmiterea datelor intr-un interval de timp precizat printr-o variabila de tip Duration. Functia are yrnatiarea forma generala:bool RTKReceiveTimed (void *Data, unsigned DataLen Duration Timeout) ; in care *Data este un pointer la data care se depune DataLen lungimea in octeti a mesajului asteptat, iar Timeout intervalul de timp in care se asteapta disponibilizarea taskului receptor.


Politica de confidentialitate


creeaza.com logo mic.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.