Interruption = case tete :(

cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009 - 18 juin 2007 à 11:52
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009 - 18 juin 2007 à 12:16
Bonjour à tous,



Alors
voilà je m'intéresse aux interruptions et j'ai un problème de
"vocabulaire" en fait j'aimerais connaître la différence entre
l'interruption dite logiciel et l'interruption dite matériel.


Voici ce que j'ai compris:


Un numéro de vecteur est associé à un périphérique on va dire par exemple Vecteur n°3 = Port com1


Et un vecteur est associé à une adresse d'une fonction qu'il faut exécuter.


Donc disons Vecteur n°3 port com1 $FF000011


Bon
maintenant je change l'adresse du vecteur n°3 pour mettre l'adresse de
ma fonction ... (J'ai réalisé une interruption Logiciel OU Matériel là
?)


Et pour l'autre interruption Veuillez vérifier : ça (“cela”) ou sa (forme possessive).">ça marche comment ?


Merci de vos réponses.



Ps
: Si vous pouvez m'expliquer simplement sans rentrer dans les détails
:) c'est juste pour comprendre en GROS la différence pas plus ;)

1 réponse

cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009
18 juin 2007 à 12:16
Car en fait voilà, j'ai pu apercevoir sur une page web qu'il y avais des interruptions materiel asynchrone et des interruptions logiciel synchrone et le truc c'est que mon prof ma demandé de faire une interruption sur une cible OS9

Donc j'ai fait ceci :

/********************************************************/
_os_intercept(  MaFonction  ,  _glob  ); //On signal que l'on va réaliser une interruption

_os_ss_sending(  Path du materiel ou on attend l'interruption  ,  Valeur que l'on va lui donner  );  //On prévient sur qu'elle materiel va avoir lieu l'interruption

_os_Sleep(0); //On fait un tempo infini pour attendre l'interruption

// Une fois que l'interruption à lieu elle passe mon sleep et du cou elle peu executer ce qu'il y à derrière.

/********************************************************/

MaFonction(int param){
    _os_rte(); // Fin de la routine d'interception
}

/*********************************************************/
Donc ceci est une interruption Logiciel dite synchrone car j'attend en réaliter l'interruption (Je sais qu'il va y avoir une interruption) Cependant je n'arrive pas à comprendre comment derrière le système va faire pour venir executer MaFonction.
0