Date de création: 21.07.2001
Rubrique du:
Auteur(s): hpbaby
Navigation: precedent principal suivant
Version:     FR

Voir en: 1024*768

LA THEORIE SIMPLIFIEE

Nous allons aborder au cours de ce chapitre, ce qui faut savoir pour émettre et recevoir sur le port série et le port infrarouge. Comme nous, l'avons déjà vu dans le chapitre système, nous avons à notre disposition 3 types de langages de programmation: Le RPL de base (Le language polonaise Inversée) , le RPL système (on parle d'externals ou de sysevals) et l'assembleur (les autres langages étant des dérivés des deux derniers).En RPL, Les commandes pour la gestion du port série sont communes avec celles pour la gestion du port Infrarouge. 
 

Il faut faire un choix préliminaire du port que l'on veut choisir avant d'utiliser de telles commandes:

->Sous HP48G/GX, il faut utiliser le sous menu transfert du menu I/O:

gx_iosetup_wire.jpg (4589 bytes) -Ici on choisit la liaison série (pour la liaison IR appuyez sur choose et sélectionnez infrared)
-Le protocole peut être soit Kermit soit X/Ymodem
-Le format ASC (texte ASCII) ou BIN (binaire)
-La vitesse de transfert est ici de 9600 bauds
-Pas de bit de parité


 

 

 

->Avec la HP48 S/SX, il faut sélectionner le sous menu setup du menu I/O
On retrouve à peu près les mêmes informations IR/WIRE, ASCII/BINARY;baud, parity, checksum type et
 translate code. (le deux derniers on ne s'en occupe jamais)

 

A - Les commandes d'Entrée/Sortie en RPL 

1) Envoi d'une chaine ou d'un caratère sur un port

La commande à utiliser est XMIT. son emploi est la suivante

Action Commande
Envoyer hello par la voie série ou infrarouge "hello" XMIT 
Envoyer le caractère A "A" XMIT
Envoyer le caractère numéro X avec X=0 à 255 X CHR XMIT


 

 

La dernière action est très pratique. Deux remarques sont à apporter : d'une part,  XMIT ouvre le port 
série pour vous et il vaut mieux le refermer derrière avec CLOSEIO d'autre part, la commande renvoie 1 
si tout s'est bien déroulé 0 sinon.

 

2) Réception d'un caractère sur un port 

 
a)Attente de réception Active (scrutation active)

 

Action Commande
Récupération de X caractères
(X=1 à 255 caractères max)
X SRECV


 

 

La commande SRECV ouvre le port série et essaie d'extraire les caractères qui viennent d'être réceptionnés. Si aucun caractère n'est présent, la HP attend pendant un moment (TIMEOUT) puis renvoie soit les caractères reçus avec leur nombre soit une chaîne vide et 0 (aucun caractère reçu). La hp48 est inutilisable pendant tout ce temps de traitement.

b) Attente de réception Passive (scrutation passive)

Il suffit d'ouvrir le port série grâce à la commande OPENIO et d'utiliser la commande SRECV pour vider régulièrement les caractères reçus (avant que le buffer déborde!).

Si l'on force l'envoi des données séries de l'autre coté (c'est à dire on raccourcit la durée inter-trames), la HP est fortement ralentie (elle ne suit plus la cadence entre deux caractères successifs), le sablier s'allume et la HP se comporte comme si l'on avait appuyé sur trop de touches consécutives. Il existe une limite intéressante de ce phénomène (serial spawning), le temps inter-trame avant que le sablier s'allume car c'est ce temps qui donne les meilleurs temps de réponse de la hp sur la liaison série.

Quand on a fini d'échanger des données, le mieux est de fermer le port série manuellement avec CLOSEIO, cela économise les piles. Cette action est impossible quand on surcharge le registre (buffer) de réception de la hp. 

  •  

     

  •  
  •  

     

  1.  
  2.  


 
 

Système de base
La hp48 (S/SX/G/GX)
Les ports d' Entrée/Sortie
1) Le port série RS232C 
2) Le port Infrarouge 
3) Les cartes d'extensions
Interfaces d'adaptation:
1) RS232
2) IR
Dialogue : Les commandes 
1) RPL de base
Matériel requis : 
1) La boîte à outils