Nombre de visites sur cette page : 23282 Score au progrank : 60 Note actuelle : 8.4/10 noté 3 fois Vous devez être connecté(e) pour noter (inscription).
Ce programme vous permettra de récupérer, ainsi qu'émettre des données sur le port 3-pin de votre calculatrice. Selon le protocole RS232 (enfin pas exactement, mais c'est son petit frère et le protocole est le même)
Fonctions :
- Réception en ASCII ou Hexa (touche F2)
- Emission de tout l'alphabet, maj et min, ainsi que les chiffres, l'espace et le retour à la ligne (Line feed). (Réglage du mode en F1)
- Affichage ou non de ce qui est envoyé (F5)
- Vidage de l'écran (F3)
- Autoriser la répétition des touches si resté appuyé ou non (F4)
Et pour quitter F6 ou MENU
Réglages :
Pour régler les paramètres de communication : vitesse, parité, etc. Vous devrez recompiler le programme, mais les réglages actuels sont les plus courants : 9600 bauds, parité:none, 8 bits, 1 bit d'arrêt. Les sources sont dans le zip joint.
Communication entre deux calculatrices :
Si on branche deux calculatrices entre elles avec ce programme, vous pourrez communiquer par l'intermédiaire de ce programme. (mais je vous l'accorde, c'est vite repéré en cours le fil noir qui se balade, et puis y'a pas une très grande distance )
J'ai une question :
Est ce qu'avec ce programme il faut absolument mettre une calculatrice en réception et l'autre en transmission ?
Moi je veut faire un truc du genre :
While 1
Getkey=31=> (transmet la valeur de la variable B)
WhileEnd
Et je veut que les deux calculatrices soit dans cette même boucle en même temps.
Malheureusement je ne peut pas tester moi même car je n'ai qu'une seule Casio.
C'est possible ?
Ce programme n'est pas du tout dédié à ça (et c'est un addin, donc en C++, pas en basique). Le but est de pouvoir récuperer les signaux envoyé par d'autres périphériques (comme une gameboy, ou une autre calculatrice).
Dans ce programme, il n'y a pas de mode à régler. Dans le cas de deux calculatrices, l'une envoi un message et l'autre le reçois que si elle est connecté, sinon le message est perdu.
Avec PRGM2 par contre tu peux reproduire le même principe, mais ça dépend comment tu veux que tes données sois. Dans mon cas ce n'est pas grave si on perd des données, toi peut-être que si.
En fait c'est pour mon mode 2 joueurs dans Warrior.
Chaque calculatrice et dans la même boucle pendant le combat.
Si un joueur appuie sur exe par exemple, il faut que son personnage attaque sur sa propre calculatrice, mais aussi sur celle qui est connectée. Et ça doit marcher de la même façon sur les deux calculatrices. C'est donc celui qui est le plus rapide qui attaque. J'ai essayé avec PRGM 2 mais j'ai pas réussi.
Pour moi, avant de faire ta boucle de combat, tu dois connecter les calculatrices, et vérifier la connexion :
- Tu initialise la communication
- Tu lance une boucle qui émet un message : un code qui dit "je suis prêt".
Et dans cette même boucle, tu fait en sorte de vérifier si tu reçois un code, si c'est le cas et qu'il est égal au code "je suis prêt", alors on lance la phase de combat.
Une fois dans la boucle de combat (vous y serez tout les deux en même temps en principe). Si joueur A attaque:
- Calc A envoi un signal et attend une réponse
- Calc B reçois le signal, envoi la réponse attendu à A et fait les actions nécessaires.
Voilà, en gros, c'est peut être a peaufiner, mais normalement ça devrait ressembler à ça je pense. Bon évidement tu traduis tout ça avec les fonctions de PRGM2.
Une astuce : Si tu veux tester l'émission ou la reception en ayant qu'une seule calculatrice, tu peut relier (avec un trombone par exemple), les canaux notés Tx et Rx ci-dessous:
Normalement ta calculatrice recevra les message qu'elle enverra. Ça marche d’ailleurs avec ce programme : si tu le lance et que tu relis les deux canaux, alors ce que tu écris sur la calculatrice sera écrit en double (ce que tu émet et ce que tu reçois)
Pour PRGM 2 j'avais créé un logiciel pour tester la communication entre deux joueurs, en envoyant à la suite le Getkey de la calto A puis je reçois le GetKey de la calto B, le résultat était satisfaisant. Le truc c'est qu'il faut que les boucles soient éxécutées aussi vite sur la calto A que sur la B pour limiter les différences de temps entre les deux caltos.
Il y a un buffer(une mémoire qui stocke ce qui est reçu), donc si une calculatrice prend du retard, ce n'est pas grave, il y aura juste un petit lag. Et elle peut facilement se rattraper car les données ne sont pas constamment envoyé dans les deux sens en général, il y a un répits. Et puis sinon, il faut faire une boucle interne à l'autre boucle pour attendre l'autre.
Ziqumu a écrit : et c'est un addin, donc en C++, pas en basique
A? moi je programme mon minecraft en C, pas en C++ (oui, je suis un peu con car le C++ serait plus simple pour les objets avec la POO (programmation orientée objet), mais je ne suis encore a l'aise qu'avec le C)
Sinon, ces sources vont me permettre de voir un peu mieux comment marche la communication par câble 3 Pin.
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd