Le logo HP Invent est propriete de Hewlett-Packard. Le site HP-Network n'a rien a voir avec la societe Hewlett-Packard

 


Francais : version originale
Translate this page in American/English

HOME

NEWS
TEST
Progs
Jeux
AIDE
Debutants
Docs
Programmer Gruges
Nouvelles HPs
La HP 49G +
Les Modèles
CONTACT

Forum
Team
Liens

HP 40G
 

Jeux
Graphismes
Sources

Library
Astuces

PROJETS

HP Worms
Treize II
Street Fighter
QVGDM
Counter S.
YODA
SebOS

Hardware
Download
Interviews
Galerie d'art

 




 

LA THEORIE SIMPLIFIEE

 

Dialogue : Les commandes de base

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
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. On peut connaitre la valeur d'un caractère en tapant NUM [entree]

 

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. 

 

©2001-2008, HP-Network.com