Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

OPENUP()

DESCRIPTION.


La fonction OPENUP() ouvre un canal de communication avec un port série.


La fonction OPENUP() peut aussi être utilisée pour ouvrir un fichier de données en lecture/écriture.




SYNTAXE.


kort% = OPENUP( chaine )




REMARQUES.


chaine doit être une chaine de caractères et doit avoir la forme : 

- standardisée : "COMn: baud=v parity=T data=b stop=a", avec : 

- COMn:, où n peut être de 1, 2, 3 ou 4 ;

- baud=v, où v peut être 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400 ou 115200 ;

- parity=T, où T peut être N pour aucune parité, E pour une parité paire ou O pour une parité impaire ;

- data=b, où b peut être 7 ou 8 ;

- stop=a, où a peut être de 1 ou 24.

- abrégée "COMn: v,T,b,a".


Note. Il est important de fermer proprement un canal de communication, avec l'instruction CLOSE #, dès que son utilisation n'est plus requise par le programme. De même, l'instruction END finalisera la communication avec tous les ports séries ouverts par l'application.


COMn:, indique le canal de communication que l'on souhaite ouvrir.

baud=v, indique la vitesse de transmission des données. ,

parity=T indique s'il faut activer ou désactive la génération et la vérification de la parité.

data=b, indique le nombre de bits de données dans chaque caractère transmis.

stop=a, indique le nombre de bits d'arrêt.



La fonction OPENUP() retourne le numéro du canal de communication associé au port série. il est indispensable de mémoriser cette valeur pour pouvoir la transmettre aux instructions de lecture/écriture sur ce port série. 


L'appel de la fonction OPENUP() retourne : 

- le numéro du canal, c'est-à-dire 1, 2, 3 ou 4, s'il n'est pas déjà ouvert, et la connexion est établie ; 

- 0 si on tente d'ouvrir un canal déjà ouvert, et la connexion ne sera pas établie.


Une application peut ouvrir simultanément jusqu'à 4 canaux de communication avec des ports séries. 



Si vous êtes certain que la machine hote les acceptera, il est possible de configurer les paramètres suivant lors de l'appel de la fonction OPENUP() :

Paramètre Signification

- Khan=o, où o peut être on ou off, pour (dé)activer le controle de flux XON/XOFF (logiciel) ; 

- odsr=o, où o peut être on ou off, pour (dé)activer le controle du flux de sortie avec le Data Set Ready (DSR) ; 

- octs=o, où o peut être on ou off pour (dé)activer le controle du flux de sortie avec le Clear To Send (CTS) ; 

- dtr=o, où o peut être on, off ou hs pour (dé)activer le controle la sortie Data Terminal Ready (DTR) ;

- rts=o, où o peut être on, off, hs ou tg pour (dé)activer le controle la sortie Request To Send (RTS) ;

- idsr=o, où o peut être on ou off pour (dé)activer le controle la sensibilité DSR.



Vous pouvez écrire des données sur un port série en utilisant n'importe quelle instruction prévue pour l'écriture dans un fichier, par exemple BPUT ou PRINT#. Ces instructions ne renvoient aucun résultat tant que les données n'ont pas été envoyées, et selon le débit en bauds, cela peut prendre un temps considérable, à 9 600 bauds, chaque caractère est transmis en un peu plus d'une milliseconde.


Vous pouvez lire des données depuis un port série en utilisant les instructions et fonctions de lecture de fichiers, telles que BGET, INPUT# ou GET$#. Ces instructions attendent la réception de la quantité de données demandée, ce qui peut être indéfini en l'absence de données entrantes. Pour éviter que votre programme ne se bloque en attendant des données sur un port série, vous pouvez utiliser la fonction EXT# pour déterminer le nombre de caractères (le cas échéant) en attente de lecture. Si vous ne lisez que ce nombre de caractères, vous avez la garantie que votre programme n'attendra jamais longtemps l'arrivée des données.


Note : l'utilisation de l'instruction EOF# et/ou la pseudo-variable PTR# n'ayant pas sens dans la communication avec port série, et leur appel entraînera une erreur fatal : Invalid channel.


Voir le manuel du BBC Basic for SDL 2.0 pour plus de détails sur l"utilisation des ports séries.



Voir la fonction OPENUP() pour ouvrit un fichier de données en lecture/écriture.




EXEMPLE.


kport1% = OPENUP( "COM1: baud=9600 parity=N data=8 stop=1" )

PRINT kport1%

END


retourne : 1

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse