Interruption liaison série

ben_chamb Messages postés 3 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 30 mai 2006 - 29 mai 2006 à 09:16
ben_chamb Messages postés 3 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 30 mai 2006 - 30 mai 2006 à 17:07
Salut,

Tout est dans le titre.Je cherche a réaliser une lecture du port série du PC mais par interruption.
J'ai testé les différents programmes, traitant de la liaison série, disponibles sur le site (notamment celui la  http://www.cppfrance.com/codes/FONCTION-GESTION-PORT-SERIE-OUVERTURE-EMISSION-RECEPTION_11115.aspx .)

Il fonctionne très bien mais le problème est qu'il est, où plutôt que je suis, incapable de lui faire detécter, à coup sûr, la présence d'un caractère sur la liaison.même en testant le contenu du pointeur sur le nombre de caractère lus.

J'ai entendu parler d'une interruption 14h du Bios , mais comme je n'ai que qlq notions de C si qlqun a une idée je suis preneur.

Merci d'avance,

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 mai 2006 à 10:44
Pas d'interruptions en mode protégé.

http://www.cppfrance.com/code.aspx?id=18704
http://www.cppfrance.com/code.aspx?id=22441

ciao...
BruNews, MVP VC++
0
deadbird Messages postés 49 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 7 mars 2010
29 mai 2006 à 12:55
Oui, je confirme, pas d'interruption sous XP...tu te fera gicler systématiquement.

Ou alors tu passe en mode non protégé, càd avant que ouinouin se charge...

Mais quel genre de programme codes-tu pour être obligé de lire le port à si bas niveau?
0
ben_chamb Messages postés 3 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 30 mai 2006
29 mai 2006 à 14:50
Merci de vos aides, je vais essayé de faire autrement alors.

Je souhaite mettre en place ce programme sous window 98. Je suis vraiment pas bon en C, je programme plutôt les microcontrolleur de type 8051.

Je souhaiterais créer un espèce de protocole de transmission "maison" entre un microcontrolleur et un PC. Le µC alarme le PC pour lui dire qu'il veut émettre, et ensuite transmission des données  avec des vérifications par Cheksums.
 
Comme je n'ai que quelques notions de C ( DUT GEII), c'est tout de suite compliqué. 
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
30 mai 2006 à 14:52
Salut,

As-tu regardé du coté des WaitCommEvent ?? Il y a peut-être un évènement qui correspond à ce que tu veux.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/waitcommevent.asp

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ben_chamb Messages postés 3 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 30 mai 2006
30 mai 2006 à 17:07
DMK04->Non je n'avais pas regardé, à vrai dire je ne savais même pas que ce type de fonction existait.

Mais finalement je n'ai pas besoin de descendre aussi bas, le source de YMCA2003 correspond  à mon application je fais finalement des lectures régulières sur le port, sans le refermer.En + les données, mM ratées sont, je crois, conservées dans le Buffer d'entrée.

Merci encore
tcho
0
Rejoignez-nous