Outils pour utilisateurs

Outils du site


tppic

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tppic [2019/03/14 20:13]
bvandepo
tppic [2019/03/14 20:14] (Version actuelle)
bvandepo
Ligne 481: Ligne 481:
 Dans la fonction **etudiantSocketAppTask()**,​ à l'​intérieur de la tâche périodique à 1Hz, ajouter une machine à état **simple** (l'​état étant codé par une variable **static int**) permettant de faire des requêtes ARP avec la fonction **ARPResolve**. Ceci permet d'​envoyer une requette ARP avec l'​adresse IP passée en argument. Dans les appels suivants de la fonction** etudiantSocketAppTask()**,​ il vous faudra tester si **ARPIsResolved** a renvoyé **TRUE**, ce qui signifie que la réponse ARP est arrivée et donc que le champ adresse MAC est mis à jour. Dans ce cas il faudra ouvrir le socket (une seule fois) puis effectuer l'​envoi des données comme dans l'​exercice précédent. Dans le cas contraire, il faudra appeler à nouveau **ARPResolve** pour envoyer une nouvelle requête. Dans la fonction **etudiantSocketAppTask()**,​ à l'​intérieur de la tâche périodique à 1Hz, ajouter une machine à état **simple** (l'​état étant codé par une variable **static int**) permettant de faire des requêtes ARP avec la fonction **ARPResolve**. Ceci permet d'​envoyer une requette ARP avec l'​adresse IP passée en argument. Dans les appels suivants de la fonction** etudiantSocketAppTask()**,​ il vous faudra tester si **ARPIsResolved** a renvoyé **TRUE**, ce qui signifie que la réponse ARP est arrivée et donc que le champ adresse MAC est mis à jour. Dans ce cas il faudra ouvrir le socket (une seule fois) puis effectuer l'​envoi des données comme dans l'​exercice précédent. Dans le cas contraire, il faudra appeler à nouveau **ARPResolve** pour envoyer une nouvelle requête.
  
-Pour débugger, vous pourrez afficher l'​adresse IP demandée dans la requête ARP à l'aide de:  
-  sprintf(chaine,​ "​ARPResolve adresse IP= %d.%d.%d.%d\n",​ myRemoteNode.IPAddr.v[0],​ myRemoteNode.IPAddr.v[1],​ myRemoteNode.IPAddr.v[2],​ myRemoteNode.IPAddr.v[3]);​ 
-  DBPRINTF(chaine);​ 
-Puis afficher l'​adresse MAC obtenue à l'aide de  
-  sprintf(chaine,​ "ARP OK: adresse mac= %02x:​%02x:​%02x:​%02x:​%02x:​%02x\n",​ myRemoteNode.MACAddr.v[0],​ myRemoteNode.MACAddr.v[1],​ myRemoteNode.MACAddr.v[2],​ myRemoteNode.MACAddr.v[3],​ myRemoteNode.MACAddr.v[4],​ myRemoteNode.MACAddr.v[5]);​ 
-  DBPRINTF(chaine);​ 
-        ​ 
  
 <color red> <color red>
Ligne 533: Ligne 526:
  
  
 +Pour débugger, vous pourrez afficher l'​adresse IP demandée dans la requête ARP à l'aide de: 
 +  sprintf(chaine,​ "​ARPResolve adresse IP= %d.%d.%d.%d\n",​ myRemoteNode.IPAddr.v[0],​ myRemoteNode.IPAddr.v[1],​ myRemoteNode.IPAddr.v[2],​ myRemoteNode.IPAddr.v[3]);​
 +  DBPRINTF(chaine);​
 +Puis afficher l'​adresse MAC obtenue à l'aide de 
 +  sprintf(chaine,​ "ARP OK: adresse mac= %02x:​%02x:​%02x:​%02x:​%02x:​%02x\n",​ myRemoteNode.MACAddr.v[0],​ myRemoteNode.MACAddr.v[1],​ myRemoteNode.MACAddr.v[2],​ myRemoteNode.MACAddr.v[3],​ myRemoteNode.MACAddr.v[4],​ myRemoteNode.MACAddr.v[5]);​
 +  DBPRINTF(chaine);​
 +        ​
  
  
tppic.txt · Dernière modification: 2019/03/14 20:14 par bvandepo