Port Série sous Dev C++

Le
tibo
Salut à tous

j'essai depuis un certain temps de faire un programme sous Dev C++
pour remplacer les versions que je fesait sous Borland.

le but de ce programme est de récuperer une trame ASCII sur le port
Série d'un ordinateur.

j'ai essayer plusieurs codes sources dispo sur le net et je n'en ai
pas trouver qui fonctionner

est-ce que quelqu'un a déjà essayer de faire un programme de ce genre
sous Dev C++?

auriez vous quelques exemples de codes valides à essayer?
ou encore des pistes à suivre? (bioscom? stdaux? conio?)


merci pour votre aide

A+
tibo
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #307127
On 25 May 2007 12:54:18 -0700, tibo
j'essai depuis un certain temps de faire un programme sous Dev C++


Windows, donc.

le but de ce programme est de récuperer une trame ASCII sur le port
Série d'un ordinateur.
[...]
ou encore des pistes à suivre? (bioscom? stdaux? conio?)


[HS] T'es mal barré, ça c'est du code pour MS-DOS.

Cherche CreateFile dans msdn.microsoft.com, puis va sur le bon groupe,
fr.comp.os.ms-windows.programmation, si tu as encore des soucis.

tibo
Le #307126
j'ai reposé ma question sur fr.comp.os.ms-windows.programmation
je pensé être dans le bon groupe
merci quand même


On 26 mai, 11:09, Fabien LE LEZ
On 25 May 2007 12:54:18 -0700, tibo
j'essai depuis un certain temps de faire un programme sous Dev C++


Windows, donc.

le but de ce programme est de récuperer une trame ASCII sur le port
Série d'un ordinateur.
[...]
ou encore des pistes à suivre? (bioscom? stdaux? conio?)


[HS] T'es mal barré, ça c'est du code pour MS-DOS.

Cherche CreateFile dans msdn.microsoft.com, puis va sur le bon groupe,
fr.comp.os.ms-windows.programmation, si tu as encore des soucis.



alex
Le #307026
salut,

j'essai depuis un certain temps de faire un programme sous Dev C++
pour remplacer les versions que je fesait sous Borland.


Sous quel borland ? Si c'est C++ Builder tu dois pouvoir trouver des
composants VCL qui encapsulent proprement les API Win32.

le but de ce programme est de récuperer une trame ASCII sur le port
Série d'un ordinateur.

est-ce que quelqu'un a déjà essayer de faire un programme de ce genre
sous Dev C++?
pas spécialement sous DevC++ mais c'est assez classique. En fait, ça dépend

de ton système d'exploitation. Soit tu es sous DOS (peu probable vu
DevC++...) ou sous Windows 9x (ça c'est possible) et tu peux utiliser des
fonctions "bas niveau" (en assembleur par ex) directement sur le port (genre
faire un IN sur le port 0x378). Pas portable, pas sécurisé, mais très très
simple. Si tu es sous Windows NT, 2k, XP ou Vista, alors il est impossible
de discuter avec le port et il faut passer par les API du système. Regardes
la doc SDK Win32 à CreateFile..

auriez vous quelques exemples de codes valides à essayer?
oui mais suivant ton OS...


ou encore des pistes à suivre? (bioscom? stdaux? conio?)
pourquoi pas suivant ton OS... Mais à priori tu n'utililses pas DOS ;-)


James Kanze
Le #306981
On May 31, 8:57 pm, "alex"
j'essai depuis un certain temps de faire un programme sous Dev C++
pour remplacer les versions que je fesait sous Borland.


Sous quel borland ? Si c'est C++ Builder tu dois pouvoir trouver des
composants VCL qui encapsulent proprement les API Win32.

le but de ce programme est de récuperer une trame ASCII sur
le port Série d'un ordinateur. est-ce que quelqu'un a déjà
essayer de faire un programme de ce genre sous Dev C++?


pas spécialement sous DevC++ mais c'est assez classique. En fait, ça dépend
de ton système d'exploitation. Soit tu es sous DOS (peu probable vu
DevC++...) ou sous Windows 9x (ça c'est possible) et tu peux utiliser d es
fonctions "bas niveau" (en assembleur par ex) directement sur le port (ge nre
faire un IN sur le port 0x378). Pas portable, pas sécurisé, mais tr ès très
simple. Si tu es sous Windows NT, 2k, XP ou Vista, alors il est impossible
de discuter avec le port et il faut passer par les API du système. Rega rdes
la doc SDK Win32 à CreateFile..


Avec tout système moderne, pour s'adresser directement à la
porte série, et en exploiter toutes ses possibilités, il va
falloir écrire un pilote, ce qui dépend énormement du système
(et qui n'est pas à la portée de quelqu'un sans une certaine
expérience). À l'autre extrème, c'est une périphérique comme une
autre, avec un nom ("/dev/quelquechose" sous Unix), qu'on ouvre
et qu'on ferme. Typiquement, il existe aussi des possibilités de
le « programmer » un peu aussi au moyen des requêtes système
spéciales, genre ioctl sous Unix.

Il faut qu'il trouve ces requêtes pour sa plateforme (qui est
probablement Windows, et donc, la requête n'est pas ioctl), et
voir si les possibilités lui en suffissent. Et ça, il faudrait
qu'il le cherche dans un groupe propre à sa plateforme.

auriez vous quelques exemples de codes valides à essayer?


oui mais suivant ton OS...

ou encore des pistes à suivre? (bioscom? stdaux? conio?)


pourquoi pas suivant ton OS... Mais à priori tu n'utililses
pas DOS ;-)


Il faut l'espérer. Pour lui.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


tibo
Le #306978
Salut

On 31 mai, 20:57, "alex"
salut,

j'essai depuis un certain temps de faire un programme sous Dev C++
pour remplacer les versions que je fesait sous Borland.


Sous quel borland ? Si c'est C++ Builder tu dois pouvoir trouver des
composants VCL qui encapsulent proprement les API Win32.


j'était sous Borland C++ Builder 6 et je ne passais pas par un API
mais par un composant Borland, le TPortCom
très peut souple à mon goût et un peut contraignant :(


le but de ce programme est de récuperer une trame ASCII sur le port
Série d'un ordinateur.
est-ce que quelqu'un a déjà essayer de faire un programme de ce genre
sous Dev C++?


pas spécialement sous DevC++ mais c'est assez classique. En fait, ça dépend
de ton système d'exploitation. Soit tu es sous DOS (peu probable vu
DevC++...) ou sous Windows 9x (ça c'est possible) et tu peux utiliser d es
fonctions "bas niveau" (en assembleur par ex) directement sur le port (ge nre
faire un IN sur le port 0x378). Pas portable, pas sécurisé, mais tr ès très
simple. Si tu es sous Windows NT, 2k, XP ou Vista, alors il est impossible
de discuter avec le port et il faut passer par les API du système. Rega rdes
la doc SDK Win32 à CreateFile..


Le but serai de le faire fonctionner sur un OS NT/2K/XP
est-il possible d'assurer la prise en charge sous Win 9X de la même
manière?

merci pour les references, je regarde...



auriez vous quelques exemples de codes valides à essayer?


oui mais suivant ton OS...


parton du principe que le but est de le faire fonctionner sur du XP :)


ou encore des pistes à suivre? (bioscom? stdaux? conio?)


pourquoi pas suivant ton OS... Mais à priori tu n'utililses pas DOS ;-)


en fait je n'ai pas tester ces système, ce n'était que des pistes
trouvé dans un cours qui date en effet de 1992 :)

ok j'oubli :D

merci pour votre aide
je continu mes recherche
si quelqu'un à un exemple de code, je suis preneur :)
merci

tibo


alex
Le #307740
bonsoir,

si tu ne veux pas utiliser de composant VCL pour ça, sous Win32 tu as l'API
CreateFile qui permet d'ouvrir un fichier qui, bien nommé, peut être ton
port série (et ça marche sous tous Windows, depuis 95 jusqu'à XP, et je
suppose idem sous vista).

Ouvrir le port série : CreateFile, avec \.COM1 comme nom de fichier (à
vérifier néanmoins, mais la doc du SDK Win32 te le dira), qui te renvoie un
HANDLE sur ton pseudo-fichier.
Ensuite lire avec ReadFile, écrire avec WriteFile.
On referme le tout bien sur, comme un fichier.

Par contre ça n'utilise pas les interruptions, il faut lire en "polling"

hope it helps :-)
Publicité
Poster une réponse
Anonyme