Liaison série et buffer système
Fireball
-
Fireball -
Fireball -
Bonsoir,
J'utilise la liaison série pour communiquer mais j'ai un soucis avec le buffer du système. En effet ce dernier est trop petit pour stocker la totalité des données reçues. Bien évidemment je peux le vider avec la méthode write() (en C++) mais le soucis c'est que je ne peux le vider qu'une fois que le buffer a finit de recevoir...
N'y a-t-il pas de méthode afin de le vider régulièrement ce buffer ? Je ne sais pas trop comment y procéder.
Merci de votre aide.
J'utilise la liaison série pour communiquer mais j'ai un soucis avec le buffer du système. En effet ce dernier est trop petit pour stocker la totalité des données reçues. Bien évidemment je peux le vider avec la méthode write() (en C++) mais le soucis c'est que je ne peux le vider qu'une fois que le buffer a finit de recevoir...
N'y a-t-il pas de méthode afin de le vider régulièrement ce buffer ? Je ne sais pas trop comment y procéder.
Merci de votre aide.
A voir également:
- Liaison série et buffer système
- Restauration systeme windows 10 - Guide
- Vérificateur des fichiers système - Guide
- Télécharger idm gratuitement sans numéro de série - Télécharger - Téléchargement & Transfert
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
- Systeme binaire - Guide
10 réponses
Non je ne pense pas que je puisse interrompre le remplissage du buffer.
Ces caractères de contrôle tu les envois au niveau du matériel qui génère les données ou de l'ordinateur qui gère la liaison ?
Ces caractères de contrôle tu les envois au niveau du matériel qui génère les données ou de l'ordinateur qui gère la liaison ?
Ah oui petite précision, je communique par liaison série avec un capteur qui m'envoie des données (de taille assez conséquente) toutes les 100 ms.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le soft lit n bytes, puis envoie un xoff pour que l'envoi stoppe, puis quand le traitement est fini, envoie un xon pour reprendre.
qu'appelles-tu le buffer système ? quel système, Windows,Linux ?
diminuer la vitesse de transmission ?
qu'appelles-tu le buffer système ? quel système, Windows,Linux ?
diminuer la vitesse de transmission ?
Si c'est au niveau du matériel qu'on envoi les caractères de contrôle, je n'ai pas vu cette possibilité dans la documentation du matériel.
Je suis sous Windows xp. Le buffer système (peut être qu'il ne s'appelle pas ainsi) c'est celui qui reçoit les données avant de me les transférer dans mon programme lorsque je fais appelle à la méthode read()
Je suis sous Windows xp. Le buffer système (peut être qu'il ne s'appelle pas ainsi) c'est celui qui reçoit les données avant de me les transférer dans mon programme lorsque je fais appelle à la méthode read()
Grosso modo ce que je voudrais c'est une fonction ou une méthode qui me permettrait de lire le buffer (ce qui implique donc la suppression des données lues) sans pour autant interrompre l'écriture des données dans ce même buffer.
Ce serait peut être possible si j'utilise 2 threads, l'un pour écrire dans le buffer et l'autre pour le vider... mais je suis perdu, je ne sais comment procéder =(
Ce serait peut être possible si j'utilise 2 threads, l'un pour écrire dans le buffer et l'autre pour le vider... mais je suis perdu, je ne sais comment procéder =(