Communication série, 2011/2012, TD1 : Différence entre versions

De Wiki de Projets IMA
Ligne 19 : Ligne 19 :
  
 
On veut créer une site web où on entre des caractères, qui sont envoyé en parallèle vers une liaison série puis ils nous reviennent en parallèle.
 
On veut créer une site web où on entre des caractères, qui sont envoyé en parallèle vers une liaison série puis ils nous reviennent en parallèle.
/*<!DOCTYPE html>
+
'''/*<!DOCTYPE html>
 
<html>
 
<html>
 
     <head>
 
     <head>
Ligne 89 : Ligne 89 :
 
     </body>
 
     </body>
 
</html>
 
</html>
*/
+
*/'''

Version du 28 mars 2012 à 10:26

 Partie électronique:

Mercredi 21 Mars 2012:

On a en entrée un signal sur 8 bits en parallèle.
On a une liaison série qui est toujours à 1, tant qu'on ne transmet pas de données.
A l'appui sur un bouton, on met le signal en série et on l'envoit sur la liaison.
Le signal est réceptionné et remit en parallèle.

Mercredi 28 Mars 2012:

Schéma d'émission : Schema emission.png

Schéma d'émission (zoom) : Schema-emission-reduit.png

Sur la nanoboard, la LED est allumée tout le temps. Sauf quand on appui sur le bouton et on le relache, au bout de 8 temps d'horlogela LED clignote suivant les entrées qu'on lui à mise (mais au moins une fois pour le bit de start). Et après 9 temps la LED reste allumée.

 Partie informatique:

On veut créer une site web où on entre des caractères, qui sont envoyé en parallèle vers une liaison série puis ils nous reviennent en parallèle. /*<!DOCTYPE html> <html>

   <head>
       <meta charset="utf-8" />
       <title>Communication série</title>
   </head>
   <body>

<script type="text/javascript" src="prototype.js"></script>

Entrée des caractères


<FORM METHOD="POST" ACTION="pageWebProjet.html" enctype="multipart/form-data">

entrer les caractères <INPUT type=text name="char"> <INPUT type="submit" value="Envoyer">

</FORM> <?php /* Prepare the read array */ $read = array($stream1, $stream2); $write = NULL; $except = NULL; if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) { /* Error handling */ } elseif ($num_changed_streams > 0) { /* At least on one of the streams something interesting happened */ } ?>

<?php // Quelques constantes

define('SOCKET_ECRITURE','/tmp/serial.send'); define('SOCKET_LECTURE','/tmp/serial.recv');

// Test de lecture de 8 octets

$fe=fsockopen('unix://'.SOCKET_ECRITURE); if(!$fe) die("fsockopen,write\n"); $fl=fsockopen('unix://'.SOCKET_LECTURE); if(!$fl) die("fsockopen,read\n"); if(fwrite($fe,"\0")!=1) die("fwrite\n"); for($i=0;$i<8;$i++){

 	$byte=fread($fl,1);
 	if(strlen($byte)!=1) die("fread\n");
 	printf("%02x\n",ord($byte[0]));
 	}

fclose($fe); fclose($fl); ?>




Champ de reception <h2>
<form method=get action="pageWebProjet.html">

<textarea name="sortie" rows="2" cols="15"> </textarea>

</form> </p>


   </body>

</html>

  • /