marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011
-
24 août 2008 à 05:45
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011
-
26 août 2008 à 14:19
Bonjour,
Par l'intermediaire d'une télécommande je recois des données 1 ou 0 dans un buffer = bufferin() mais je constate quand fonction de la marque de la télécommande la récéption dans ce buffer peut etre plus ou moin rapide.Savez vous si il est possible de controler la vitesse de reception d'un buffer ?
Par avance merci beaucoup.
A voir également:
Comment parametrer le buffer de votre formuler z 7 plus
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 août 2008 à 10:12
un buffer est une zone mémoire, il n'a intrinsèquement pas de vitesse si ce n'est celle la Ram de ta machine (donc très rapide).
Le problème peut venir du port de communication, de la vitesse à laquelle il reçoit les données, du traitement qui est fait derrière pour les mettre dans le buffer.
Ou plus simplement aussi le problème peut venir de la télécommande. Même si tu as un port très rapide, tu ne recevra pas les données plus vite qu'elle ne les envoie.
Tu peux très bien avoir une ferrari et pourtant rouler à 30k/h
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011 25 août 2008 à 09:04
Merci CASI pour tes informations donc je doit trouver une autre solution a mon trés grand probleme pour la fiabilité de l'envoie de l'action et la répetition de la touche ex: HAUT, BAS, DROITE, GAUCHE.
En détail voila ou ca bloque :
donc pour n'importe quelle telecommande j'ai toujours un
-Buffer1 qui m'affiche 0 ou 1 a une vitesse qui varie en fonction du matos mais qui s'actualise tout le temps meme si la touche est répétitif.
-Buffer 2 qui m'affiche en permamance 6 qui ne s'actualise jamais
-Buffer 3 qui m'affiche le code touche qui s'actualise uniquement que si j'appuie sur une touche differente.
-Buffer4 qui m'affiche une serie de chiffre impossible a utiliser et que je manipule pour le moment comme ca ASC(BufferIn(4)) , ce buffer me sert a lancer mes action touches, c'est la methode la plus efficasse pour mes actions de par son resultat qui se termine toujours par 54 mais si j'appuie plusieur fois sur la meme touche il ne s'actualise jamais.
Tous les resultats de ces buffers s'affiche dans un control LABEL.CHANGE
et dans une procedure qui tourne constament par consequent affiche en permanence mes anciens resultat dans le label jusqu'a la nouvelle action.
Donc le lancement de mes actions touches dependent d'une part du resultat du :BUFFER 3 pour l'action et pour la repetition des touches je depend de : ASC(BufferIn(4)) si 54 = ACTION
L'ideal serait de manipuler le buffer 1 Ou le buffer 4 ou bien de créé un truc qui m' affiche a chaque action 0 ou 1 mais je ne vois pas comment.
Oui oui je sais c'est l'embrouille dans ce sujet et c'est bien pour ca que je desespere.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 août 2008 à 16:14
si la "lenteur" vient effectivement de tes différentes télécommandes, tu ne vas pas pouvoir faire grand chose.
Si par contre il vient du code de traitement qui se trouve entre le port de reception et le buffer et dont le role est de mettre les données réçus dans le buffer, il faut voir s'il est améliorable.
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011 25 août 2008 à 16:50
Merci Casy de ta réponse que j'attendais avec impatience, en fait il na sagit pas de lenteur mais de trop de rapiditée.donc en gros c'est peut etre mon code de reception qui deconne .
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011 26 août 2008 à 11:55
Quelqu'un pourrait m'expliquer pourquois avec Asc(BufferIn(5)) la répétition des bits ne ce fait pas car si je fait uniquement BufferIn(5) les chiffres ce répéte constament du moment que j'appuie sur une touche.
Asc(BufferIn(5)) reste la meilleur methode pour controler mon buffer dans mon cas peus importe mes telecommandes il me donnera un resultat de 54 et donc 54 me servirat a lancer mes actions de code touche, le seul hic c'est qu'il ne ce repete pas si je garde la touche appuyée.
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011 26 août 2008 à 12:38
Sachant que mon buffer 1 est present sur toutes les telecommandes et qu'il affiche constament soit 0 ou 1 a une vitesse qui varie en fonction mais tres souvent trop rapidement, ne saurait il pas possible de faire en de faire un truc du genre:
Compter le nombre de fois que buffer1 affiche 0 ou 1, si son comptage est a 30 par exemple action
Je pensse que c'est une solution et ca me permettrais du coup de regler la vitesse de répétition des touches.
Mais je suis imcapable de réaliser un tel code, si quelqu'un veut bien m'aider sur cette conception code ce serait cool .
Par avance merci