![]() |
![]() |
Dernière modification : |
Utilisation de la liaison RS232Cette page explique l'utilisation de la liaison série du canon pour la sauvegarde et le chargement des programmes BASIC. Le matérielIl faut disposer de l'interface X-722 qui permet de convertir les signaux série (TTL: 0-5v) du Canon en signaux normalisés RS232 (+/- 25v). Si vous ne disposez pas de cette interface, il est possible d'en fabriquer une similaire au moyen d'un circuit spécialisé (MAX 232) qui permet la conversion de signaux. L'interface X-722 comporte en sortie un connecteur série DB25 à relier au PC. D'après le manuel d'utilisation (un peu trop succinct !), les signaux disponibles sont les suivants :
La connexionIl faut réaliser un câble qui relie cette interface à l'un des ports COM (série) du PC. Il existe plusieurs sortes de branchements possibles concernant les interfaces séries, le câblage proposé fonctionne correctement. Notons qu'après plusieurs essais, je n'ai pas réussi à utiliser les signaux CD et DTR, le câble proposé ne les prend donc pas en compte, la liaison série fonctionnant quand même ! Le câblage est classique. Les broches de masse sont reliées entre-elles et on effectue un câblage croisé entre les signaux TxD-RxD et CTS/RTS. Voici ce que cela donne entre un connecteur male DB-25 et un connecteur femelle DB-9.
L'UtilisationL'utilisation de cette interface est un peu particulière car elle n'a manifestement pas été conçue pour la sauvegarde des fichiers. Il faut utiliser coté PC le logiciel de liaison série Terminal (ou un autre équivalent). Le paramétrage de la liaison est le suivant:
Sauvegarder un fichierCette méthode permet de sauvegarder un programme du Canon X-O7 vers un PC. Il faut savoir que le Canon utilise un code pour sauvegarder les instructions BASIC en mémoire et lorsqu'il sauve ce fichier, les instructions ne sont pas converties en codes ASCII !
NB: Si l'on a utilisé la commande SAVE "COM:", le programme n'est pas tout à fait éditable avec un éditeur de texte à cause des codes internes du canon. Par contre, si l'on a utilisé la commande LIST #1, le programme est lisible. Charger un fichierC'est un peu plus compliqué que pour la sauvegarde. Cette méthode permet de charger dans le Canon un programme sauvegardé sur un PC. Il n'est pas possible d'utiliser la commande LOAD du Canon car elle s'attend à recevoir un programme sauvegardé au format interne Canon. On va pour cela utiliser une des possibilités amusantes du Canon: celle de pouvoir rediriger ses entrées sur la liaison série par l'intermédiaire du fichier de communication numéro 5 (non ce n'est pas de la science fiction façon Cosmos 1999 mais la réalité façon Canon X-O7 ! ). On va ainsi simuler la saisie d'un programme par la liaison série RS232. Par contre, il existe un petit problème: à chaque validation d'une nouvelle ligne, il faut que le Canon valide la ligne entrée (transformer cette ligne en ASCII en code interne) et cela prends un petit peu de temps. La solution qui fonctionne est de transférer le programme caractère par caractère et d'attendre entre chaque caractère (option du programme Terminal). Cela ralenti beaucoup la vitesse de transfert mais fonctionne. Une amélioration serait de transférer le programme par ligne et d'attendre à la fin de chaque ligne mais cela n'a pas l'air de fonctionner correctement pour certaines lignes. En effet les lignes qui finissent par un numéro (par exemple ... then goto 150) seront fusionnées avec la ligne suivante comme si la fin de ligne n'avait pas été détectée. Il vaut mieux attendre un peu et avoir un programme correct que d'avoir rapidement un programme foireux ... ! Procédure de chargement du Canon X-O7
Le fichier est maintenant disponible sur le Canon.
Si vous trouvez une autre méthode plus simple qui fonctionne, merci de nous l'indiquer ! Peut-être est il possible de charger un programme sauvé auparavant au format interne Canon dans un fichier texte ? Cette solution n'a pas été testée. Peut-être serait il possible de faire un
programme PC de transfert qui irait lire un fichier au format interne Canon et
le transfèrerait par la liaison série en incluant des caractères de fin de ligne
(&H0D) à la fin de chaque ligne transférée ?
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|