begin process at 2012 05 28 09:57:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

background et multithreading


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

background et multithreading

mercredi 30 janvier 2008 à 17:44:23 | background et multithreading

no1no2

Bonjour,

Je vais vous exposer mon probleme. Je suis en train de réaliser la capture d'un flux de données issu d un connecteur USB2.0.
La partie Hardware marche, enfin il semblerait.

Afin d avoir une interface assez joli j ai crée une form. Je dois capturer mon flux de donnée lorsque j appuie sur un bouton et le stopper lorsque j appuie sur un autre bouton.
Pour réaliser cette capture j ai créé un "backgroundworker". Mon problème est que j utilise une fonction fournit par la librairie du composant permettant de lire un "endpoint" (l'endroit ou son stoqué les données sur une interface USB avant d etre envoyé) de mon USB interface. Cette cette fonction retourne un tableau de bytes (dans mon cas 512bytes). Afin d enregistrer ces données sur un fichier textes je dois parcourir ce tableau... Mon problème est que le débit de mon USB ne me permet pas de faire la capture et l'écriture dans le meme thread... (j ai essayé et je perds des données)
J ai essayé de créer un autre "backgroundworker" mais apres une lecture plus détaillé je me suis appercu que ce n'était pas possible.
Je dois créer une autre tache en parallele permettant lorsque qu une donnée est capturée de la lire et de l écrire  dans un fichier.
Ces deux taches devront avoir acces à un meme buffer et l écriture dans le fichier ne devra se faire que lorsqu'une donnée a été recu.
Malheureusement je ne suis pas un expert de c++ et encore moins de visual express c++. Donc j avoue ne pas savoir comment faire du tout.
Quelqu un pourrait il me conseiller et m aider ?

Merci d avance
jeudi 31 janvier 2008 à 09:33:40 | Re : background et multithreading

deck_bsd

Membre Club
Yop,


 "backgroundworker" ? c'est pas du C# ça ? Sinon pour réaliser ta tache en C++ je serait toi je créerai 2 thread, chacun fesant leur tâche et vu qu'ils doivent acceder au même buffer je les synchroniserai avec soit une zone critique ou alors un mutex. Pour la création de thread regarde la fonction CreateThread et pour la synchronisation, comme dirait BruNews : Richter chapitre 8 et 9 :D ( [ Lien ] ).

++
deck_bsd
___________________________________
[ [ Lien ]]
jeudi 31 janvier 2008 à 09:43:51 | Re : background et multithreading

no1no2

Merci pour tes infos je vais regarder,
En fait backgroundworker peut etre utiliser aussi en c++. En tout cas avec visual c est le cas puisque je l utilise. Je suis obligé dans utilisé un sinon je perd le controle de l interface utilisateur. Ce qui m empeche d arreter la capture des données issues de l interface USB.

Mais je pensqit créer un autre thread avec mon backgroundworker(qui est lui aussi un thread)..
Pour le moment j apprends enfin je me cultive..
Enfin je vais essayer toutes les possibilités..
Merci pour ton liens je vais regarder..


Cette discussion est classée dans : donnée, données, usb, capture, interface


Répondre à ce message

Sujets en rapport avec ce message

redirection de données [ par nonkouni ] J'utilise GetFieldValue pour recuperer des données d'une table en visual c++. Pour cela j'utilise une variable hôte x de type CString.Seulement quand MFC Edit Control - Rafraichissement des données [ par lacousine ] dans mon programme, je récupère une donnée que je veux affecter à mon TextBox. Voici comment je m'y prend :GetDlgItem( IDC_TextBox_Glissoire )->SetWin ecrire des données et tableau dans un fichier excel par interface c++ [ par nazca ] Le Zero de la programmationNazcaVotre texte ICIj aimerais savoir comment on fait pour ecrire et sauvegarder des données dans un tableau(tableau deja c interface pc / pilotime [ par Luneart ] bjr a tous pr commencer !Donc comme vous pouvez le voir sur mon pseudo je suis un pas doué, un représentant de cette espèce en pleine prolifération... Détection et accès aux données d'une clé USB [ par doudou24 ] Bonjour, Je souhaite créer une application qui détecte la connexion d'une clé usb et accède aux données avec MFC sous VC++. J'ai vu qu'il fallait uti envoi de données par USB [ par dydyvos ] Bonjour,Je veux envoyer seulement un tableau de 21bits de mon PC à une carte électronique avec le port usb. J'aimerais connaitre un moyen simple pour Base de donnée sans serveur "externe"? [ par harddisk ] Bonjour,je cherche à enregistrer des données(beaucoup) sur le pc de l'utilisateur et pouvoir les modifier,rechercher etc.Donc au lieu d'enregistrer "b Piloter une autre application [ par jnmchl ] Bonjour, Je cherche à faire une application qui sert d'interface entre une application personnelle et une application professionelle : j'explique l' Garder des données d'une interface a une autre interface [ par Bason_sensei ] Bonjour, j'ai un petit pbl d'interface : //classe1 lesUsers[0].affiche()j'ai les donné //classe2 classe1().lesUsers[0].affiche()j'ai pus les données reception données depuis gprs vers une @ ip fixe [ par zdoucha ] Salut à tous, Je veux developper une application qui me permet de recuperer une donnée envoyé par un µcontrolleur msc1210 a travers un gprs vers une @


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales