Version 1.04 pour Windows et Linux
TOCOMM va vous permettre de discuter avec votre Thomson sous le Basic des TO9, TO8, TO8D et TO9+. Vous pourrez donc choisir la taille des caractères à transmettre (8 ou 7 bits), la vitesse de transmission (110, 600, 1200, 2400, 4800, 9600 ou 19200 bauds) et la taille d'une ligne. Côté PC, le programme n'est pas très évolué puisqu'il est surtout destiné à l'intégration dans un programme C, et est donc livré compilé à titre d'exemple. Si certains arguments passés par la ligne de commande sont incorrects, le programme ne s'exécutera tout simplement pas. Veillez donc à ne pas vous tromper.
Initialiser le programme Thomson Pour commencer, il faut d'abord lancer le programme TOCOMM.BIN :
Le programme TOCOMM.BIN est entièrement translatable, vous pouvez donc l'implanter où bon vous semble, l'offset de chargement faisant foi, dans une zone de quelques 560 octets. A l'exécution, le vecteur système pointant sur l'entrée Moniteur RSCO$ ("Gestion de l'interface de communication") est remplacé. Vous pourrez alors risquer un SCREENPRINT, et même en 80 colonnes, pour peu que vous ayez branché une imprimante Thomson sur votre CC90-232. Ouverture du canal pour l'interface de communication Un réglage personnalisé peut être effectué à l'ouverture du périphérique, écrit entre parenthèses comme pour un commentaire de fichier, juste après le nom du périphérique. Si ce "commentaire" est omis, la transmission se fera à la vitesse 4 (1200 bauds) avec des données 7 bits et une longueur de ligne de 40 caractères. Le premier chiffre indique la vitesse de transmission :
Il est malheureusement possible que les vitesses basses ne soient pas supportées par votre liaison série. Le deuxième chiffre indique la taille des données à transmettre :
Utiliser une transmission de 7 bits ne permet bien sûr pas de transférer autre chose que des caractères ASCII. Il est aussi possible que la transmission 7 bits ne soit pas supportée par votre liaison série, ou même qu'elle traite la liaison 7 bits comme une liaison 8 bits. Le troisième paramètre peut comporter plusieurs chiffres. Il indique la longueur maximum d'une ligne. Si la ligne à envoyer par le Thomson comporte plus de caractères que déclaré à l'ouverture du périphérique, elle sera tronquée au nombre de caractères spécifié. Pour ouvrir le périphérique COMM en réception par le canal 1 avec une vitesse de 19200 bauds, 8 bits par donnée et une ligne de 255 caractères maximum, nous aurons par exemple :
Pour ouvrir le périphérique COMM en émission par le canal 2 avec une vitesse de 300 bauds, 7 bits par donnée et une ligne de 80 caractères maximum, nous aurons par exemple :
Pour ouvrir le périphérique COMM en émission par le canal 2 avec une vitesse de 1200 bauds, 7 bits par donnée et une ligne de 40 caractères maximum, faites simplement :
Généralités sur la transmission des données Sachez que le programme qui doit recevoir les données se met toujours attente bloquante, au contraire de la partie qui emet les données, plus impulsive. Dans un cas général, il est préférable que la tâche de réception d'un côté commence avant la tâche d'émission de l'autre. Il suffira alors de faire patienter le programme d'émission en effectuant une petite réception préalable. Sachez aussi que sous Windows, les données envoyées sont bufférisées puis envoyées sous interruption, ce qui fait qu'elles arriveront à bon port même lorsque le programme n'est plus en activité. Ce qui ne se vérifie pas pour les systèmes Linux. Le caractère CR (code $0D) est reconnu côté Thomson et côté PC comme terminateur de ligne, et donc comme un caractère de fin d'envoi. Il est par conséquent réservé et ne sera jamais traité en tant que donnée. Transmission des données sous Basic TO9, TO8, TO8D et TO9+ Pour la transmission de données sous Basic des TO9, TO8, TO8D et TO9+, nous avons 3 instructions à disposition :
Pour réception d'une chaîne de caractères, il suffira donc de faire :
Pour réception d'une valeur numérique :
Pour l'émission d'une chaîne de caractères (la chaîne de caractères peut bien évidemment être remplacée par une variable) :
... et enfin pour l'émission d'une valeur numérique (la valeur numérique peut bien évidemment être remplacée par une variable) :
Transmission des données depuis le PC Côté PC, vous effectuerez les transmissions à l'aide du programme tocomm, que vous lancerez en ligne de commande dans une fenêtre DOS sous Windows ou dans le Terminal sous Linux. Ce programme requiert toutefois quelques arguments :
Quelques exemples : Les noms de périphériques sont ici à titre indicatif. Vous chercherez vous-mêmes l'orthographe exacte de votre propre périphérique dans la liste des ports COM sous Windows et dans le répertoire /dev/ sous Linux. Envoyer la chaîne "Hello World !" au Thomson à une vitesse de 19200 bauds en 8 bits :
Envoyer la valeur 256 au Thomson à une vitesse de 2400 bauds en 7 bits :
Recevoir une chaîne ou une valeur à une vitesse de 600 bauds en 8 bits :
La vitesse et le nombre de bits par donnée doit évidemment correspondre au paramétrage que vous aurez choisi pour la transmission sous Basic. Fermeture du canal Une fois que toutes les tâches ont été effectuées, refermer tous les canaux utilisés côté Thomson :
... ou simplement :
Le coin du programmeur Les programmes C se trouvent dans le répertoire src/tocomm/ :
|