begin process at 2012 02 17 11:11:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Lenteur programme de pilotage du port parallèle


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

Lenteur programme de pilotage du port parallèle

lundi 3 décembre 2007 à 18:07:08 | Lenteur programme de pilotage du port parallèle

pit34

				
						Bonjour à toutes et à tous.


Voila, je poste car étant débutant en programmation, j'ai un petit soucis.
Je développe actuellement un petit programme en vb.net pour piloter une matrice de Leds par le port parallèle.
Je pilote le port parallele grace à la dll inpout32, et le programme marchera de cette facon :
J'écris un mot de 8 bits sur le port parallèle, j'attends un temps T1 ( ou 1 est le numero de la led ) d'environ quelques dizaines de microseconde, puis j'écris un autre mot en attendant cette fois-ci T2.
Je fais ceci 288 fois, et je boucle le tout.

Pour tester, je passe les 8 bits à l'état 1, j'attends avec sleep et je passe les 8bits à 0, et j'attends avec sleep, puis je boucle.


Mon premier problème est que lorsque je démarre la boucle, l'interface se gel. Je pense que l'on peut résoudre ça avec un thread, mais malgrès mes nombreuses recherches et essai, je n'ai pas réussi à l'utiliser.
Mon deuxième problème est que je ne peux pas générer une fréquence superieur à 250Hz environ, car le sleep ne permet des pause que d'1 milliseconde minimum, et il me faudrait entre 10 et 20 microsecondes.
Pour résoudre cela j'ai entendu parlé du Queryperformancecounter, mais là encore malgrès mes nombreux essaies, rien n'y fait. Mais même dans ce cas j'ai peur que ca ne marche pas, car si je fais la boucle sans mettre de timer, j'obtiens une fréquence qui passe de 1Khz à 500Hz sans arrets.

Je ne vois vraiment pas comment faire, je cherche depuis plus d'une semaine sur google mais rien à faire. De même sur ce site, et pourtant j'ai épluché un paquet de post et d'articles :/



Voila j'espère que vous pourrez m'aider et me conseiller.
Bonne fin de journée à vous ;)
lundi 3 décembre 2007 à 18:34:46 | Re : Lenteur programme de pilotage du port parallèle

pit34

Pardonnez moi, je ne sais aps pourquoi tout le texte s'est détraqué et aparament il n'est pas possible d'éditer un message, je recommence donc.

Bonjour à toutes et à tous.


Voila, je poste car étant débutant en programmation, j'ai un petit soucis.
Je développe actuellement un petit programme en vb.net pour piloter une matrice de Leds par le port parallèle.
Je pilote le port parallele grace à la dll inpout32, et le programme marchera de cette facon :
J'écris un mot de 8 bits sur le port parallèle, j'attends un temps T1 ( ou 1 est le numero de la led ) d'environ quelques dizaines de microseconde, puis j'écris un autre mot en attendant cette fois-ci T2.
Je fais ceci 288 fois, et je boucle le tout.

Pour tester, je passe les 8 bits à l'état 1, j'attends avec sleep et je passe les 8bits à 0, et j'attends avec sleep, puis je boucle.


Mon premier problème est que lorsque je démarre la boucle, l'interface se gel. Je pense que l'on peut résoudre ça avec un thread, mais malgrès mes nombreuses recherches et essai, je n'ai pas réussi à l'utiliser.
Mon deuxième problème est que je ne peux pas générer une fréquence superieur à 250Hz environ, car le sleep ne permet des pause que d'1 milliseconde minimum, et il me faudrait entre 10 et 20 microsecondes.
Pour résoudre cela j'ai entendu parlé du Queryperformancecounter, mais là encore malgrès mes nombreux essaies, rien n'y fait. Mais même dans ce cas j'ai peur que ca ne marche pas, car si je fais la boucle sans mettre de timer, j'obtiens une fréquence qui passe de 1Khz à 500Hz sans arrets.

Je ne vois vraiment pas comment faire, je cherche depuis plus d'une semaine sur google mais rien à faire. De même sur ce site, et pourtant j'ai épluché un paquet de post et d'articles :/



Voila j'espère que vous pourrez m'aider et me conseiller.
Bonne fin de journée à vous ;)

mardi 4 décembre 2007 à 13:12:22 | Re : Lenteur programme de pilotage du port parallèle

NHenry

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour

De toute façon, le changement de thread (quand tu fais un Sleep), est d'environ 15ms sur un XP (pour les autres je ne sais pas, mais ça doit être approchant).

Si tu veux vraiment de la performance, sort de .NET et passe au C++ voire au C (mais pas sur la plateforme .NET).

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
mardi 4 décembre 2007 à 13:33:10 | Re : Lenteur programme de pilotage du port parallèle

pit34

Ok merci beaucoup.

Donc si j'ai bien compris, je dois passer au C, et ne pas utiliser d'interface graphique VB.

On ne peut vraiment pas exectuer l'envoi de bits en C, et l'interface graphique en VB ?
Merci, je vais commencer à travailler en C.
mardi 4 décembre 2007 à 13:48:07 | Re : Lenteur programme de pilotage du port parallèle

NHenry

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour

En passant par une DLL peut-être, mais ne compte pas sur .NET (pas forcément VB) pour avoir des performances record.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
mardi 4 décembre 2007 à 19:53:30 | Re : Lenteur programme de pilotage du port parallèle

pit34

Ok donc je vai trouver autre chose pour faire une interface graphique en C. J'ai vu que certains logiciels le faisaient très bien.

Je vais essayer de comprendre le C et je fais ca. Je posterai quand j'aurai trouvé, ou un problème :)

Merci à toi ;)



Cette discussion est classée dans : boucle, programme, port, attends, parallèle


Répondre à ce message

Sujets en rapport avec ce message

Pb avec le port parallèle [ par Jacky7 ] Bonsoir à tous,J'ai un souci, j'ai realisé un programme qui utilise le port parallèle qui fonctionne très bien sur l'ordi où je l'ai crée. Seulement l pb avec le port parallèle [ par Jacky7 ] Bonsoir à tous,J'ai un souci, j'ai réalisé un programme qui utilise le port parallèle qui fonctionne très bien sur le PC où je l'ai crée. Seulement lo dll et VB 2010 [ par mmmmnnnn ] Bonjour et merci pour vos réponses précédentes sur le pilotage du port parallèle d'un PC. Je dispose d'une dll qui pilote sous XP le port parallèle, qbasic, XP et port parallèle [ par mmmmnnnn ] Peut-on simplement piloter un port parallèle sous windows XP avec un programme en QBASIC (en lecture comme en écriture), et si oui, avec quelle versio Acquisition sur plusieurs ports RS232 [ par bi0hazard ] Bonjour, J'ai créé un petit programme d'acquisition de données sur le port RS232. Nous avons 12 balances qui prennent des mesures et les envoies aux Programme qui se fige sur une boucle While ==> comment éviter cela [ par guda ] Bonjour, j'ai réalisé une appli qui récupère les données d'une interface USB pour les traiter. En gros je fait une boucle While qui check le buffer Lecture d'un signal envoyer au port parallèle d'un PC [ par elkinaniz17 ] Salut j'ai un problème au niveau de la lecture du signal envoyé au port parallèle lorsque j'utilise ce code (bien sur avec le module parallèle et le Problème utilisation DLL Inpout32 [ par stephantasy ] Bonjour, Après de nombreuses heures de recherches, je me rends à l'évidence. Il me faut de l'aide ! J'ai tapé ce petit bout de code pour lire mon po Communication sur le port parallèle [ par HellStrings ] Bonjour, Je voudrais développer un soft qui permet d'envoyer une valeur BCD sur un port parallèle (sorties D0àD7) et également agir sur les bits "Str


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,811 sec (4)

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