begin process at 2012 05 25 12:15:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

problème gestion port serie


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

problème gestion port serie

jeudi 24 juin 2004 à 14:29:25 | problème gestion port serie

chfauve59

Bonjour, j'aimerai savoir comment faire pour géré le port série sous windows NT avec Builder ou VC++ sans avoir a utiliser les commandes API de windows car je veux traité la réception d'un octet dès qu'il est reçu sur le port sans attendre la suite des octets qui arrivent, je ne veu surtout pas utiliser de Buffer pour lire les octets. Mon but est de faire la transmission des caractères recus sur le port série sur réseau ethernet(100 MBits) pour le retransmettre sur le port série d'un poste distant et vice versa donc il faut que je commence a traité les infos recu sur le port série. Est-t-il possible de traité a bas niveau le port série sous Windows NT? J'ai déjà fais un programme utilisant les méthode CreateFile(), SetComm.... avec gestion de thread mais j'ai des problèmes de timing, la liaison est de type 9600 bauds 8 bits avec parité, le problème est que windows s'occupe de mettre plusieurs octet dans un buffer interne ce qui me bloque. Quelqu'un connait t il une solution pour avoir un évenement de reception que d'un seul octet ou de pouvoir réduire le buffer interne de l'API de reception a un seul octet? Merci beaucoup d'avance.

seb (chfauve59)
jeudi 24 juin 2004 à 17:46:06 | Re : problème gestion port serie

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

et ça, ça marche pas ?

BOOL SetupComm(
HANDLE hFile, // handle of communications device
DWORD dwInQueue, // size of input buffer
DWORD dwOutQueue // size of output buffer
);

@++
samedi 3 juillet 2004 à 21:54:36 | Re : problème gestion port serie

ToutEnMasm

Bonjour,
Je vois la meme question depuis bientot un mois.
Si le probleme est vraiment si pointu,il faut en passer par la gestion du port série par interruptions.Sous windows seul un vxd est capable de faire ça.Un programme normal se heurte au niveau de privilege requis pour installer une interruption.
Il faut télécharger le DDK,nécessaire a faire des drivers.
Le ddk utilise ml (masm32) comme langage.
Un exemple tout fait existe sur internet ,je l'ai vu mais je ne me rappelle plus trop ou.
Sur mon site ,a la page de lien , se rendre sur le site des auteurs de msdn,un des auteurs est spécialisé la dedans.
Avec un peu de chance ,un de ses articles fournira le source et des explications.
C'est le vxd type peu difficile à réaliser.
Une fois le vxd installé,c'est lui qui a la priorité .

ToutEnMasm


lundi 5 juillet 2004 à 10:16:22 | Re : problème gestion port serie

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

ToutEnMasm, je crois que tu n'as pas bien lu la question:
Bonjour, j'aimerai savoir comment faire pour géré le port série sous windows NT avec Builder ou VC++

kidi NT dit pas de vxd, les drivers c bien mais c pas le + portable. ( de +, j'ai fournis un exemple pour hooker le port COM par driver vxd sur ce site, le hook est une bonne solution car cela permet de charger le driver en dynamique )

@++
lundi 5 juillet 2004 à 11:30:56 | Re : problème gestion port serie

ToutEnMasm


Salut,
j'ai bien lu la question.je cite

"Quelqu'un connait t il une solution pour avoir un évenement de reception que d'un seul octet ou de pouvoir réduire le buffer interne de l'API de reception a un seul octet? "

Et la réponse c'est le vxd qui la fournit avec une éventuelle création de message windows.
Le vxd permet de créer une interruption par pic pour chaque octet reçus et de les mettre dans un tampon dimensionnable a volonté.
Le vxd remplace l'API.
A mon avis , tu ne vois pas trop comment gérer un port série.
Se renseigner sur l'uart , l'usb.
ToutEnMasm
lundi 5 juillet 2004 à 13:00:01 | Re : problème gestion port serie

patatalo

Membre Club Administrateur CodeS-SourceS

re,

je ne rentrerais pas dans ton débat car il ne m'interesse pas étant donné que nous ne parlons pas de la meme phrase.

alors demande a d'autres ...
pas de vxd dans un noyau NT, je confirme...

@++
lundi 5 juillet 2004 à 17:39:58 | Re : problème gestion port serie

ToutEnMasm


Salut,
Pour avoir des réponses dans un groupe de discussion il faut savoir poser les bonnes questions.
Je ne demande rien du tout.
Tout cela m'a l'air fort confus.
a+
ToutEnMasm
lundi 31 janvier 2005 à 19:54:28 | Re : problème gestion port serie

mitah86

moi auussi j'ai le même probleme et j'(aimes bien une reponse le plus vite possibles
mardi 1 février 2005 à 10:54:55 | Re : problème gestion port serie

patatalo

Membre Club Administrateur CodeS-SourceS
re,

le problème dans la gestion du port serie est la désynchronisation des évènements entre le driver et l'application.

les messages sont attendus par les fonctions Wait???.

il y a 2 mode de programmation:
le mode bloquant et le mode overlapped.
en mode bloquant, il est possible d'augmenter la priorité du thread qui répond aux evenements.
en mode overlap, la gestion est plus simple et non bloquante mais moins portable avec d'autres systemes d'exploitation.

dans le cas d'une gestion octet par octet, je pense qu'il faut faire une gestion bloquante en augmentant la priorité du thread ( coté applicatif ) qui gère les entrées COM.

si tu utilise le mode overlap, il faut creer une boucle de lecture octet / octet. ( en cas de reception de plusieurs octets )
sur le site de msdn, il y a un article interressant sur le port serie qui explique tout ça, j'ai plus la page en tete.

@++
samedi 11 mars 2006 à 12:56:46 | Re : problème gestion port serie

momo le bricoleur

peut être pourrai tu utiliser le port com a bas niveau, je sait pas vraiment comment tu peut le faire sur le PC, mais pour la calculatrice graphique TI89 en langage C,j'utilisais peekIO(0x60000E) pour lire l'état du port et pokeIO(60000E,...) pour ecrire.
ce n'est pas sur que ce soit la meme fonction pour un PC

donc je serai aussi intéréssé de savoir comment untiliser le port com a bas niveau (fair directement varier les état logiques sur les broches)...


Cette discussion est classée dans : problème, port, windows, série, octet


Répondre à ce message

Sujets en rapport avec ce message

Help! port série/clavier [ par projectman ] Voilà je dois réaliser un driver claiver pour pc en C++ et je ne sais pas trop comment faire et surtout par où commencer.Donc je dispose d'un clavier 512 bps port serial [ par abarbu ] est il possible sous Windows (9x ou XP) que je programme le 8253 timer pour obtenir 512 Hz e user ce frequence pour le port serialle (RS232) ?Sous DO problème avec le port 0x60 qui fait des faire des beeps [ par prunkdump ] voilà lorsque j'utilise le port I\O 0x60 pour voir l'etat du clavier d'abord tout fonctionne bien puis au bout d'un moment le pc fait des beeps, comme Creation commande port série [ par hypotamtam ] Bonjours, je suis novice dans l'electronique et je voudrais savoir si quelqu'un pourrais m'aide ou me donner des liens internet.Je souhaiterai juste s Interception d'événements sur port série [ par ffred10 ] Bonjour.Je voudrais espionner un bus I2C en le reliant sur le port série.Je n'ai pas de problème avec les connections électroniques, ni avec la techno Problème de syles Windows XP [ par Nemesis ] Suite à une mauvaise manipulation (c toujours comme ça que ça arrive), j'ai perdu le style de Windows XP (fenètres bleues, etc...) et je retrouve la v USART PIC16F877 [ par SEB73460 ] Bonsoir à tous,je souhaite réaliser une liaison simple entre un pic16f877 et mon PC par le port serieafin de pouvoir utiliser USART de ce composantMai commande via le Port Série [ par jonathanzanti ] Avant tout, je vous souhaites à toutes et à tous une très bonne année 2009 ! Bien voila, je me lance, je travail depuis pas mal de temps sur un proje Problème d'affichage de programme après compilation [ par li2k ] Salut tout le Monde.Bon voilà, dans le cardre d'un projet scolaire, j'ai écris un programme assembleur avec l'émulateur "Emul8086".dans ce programme j schema electronique entre pic16F84 et FT232R [ par sirini ] bonjour, j aimerais avoir un montage electronique a base de pic16f84 et adaptadeur du port usb FT232R ; en faite je veux realiser une cle physique pou


Nos sponsors


Sondage...

Comparez les prix

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 : 4,384 sec (3)

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