CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

port com

neg282
neg282
Niveau 7
15 janvier 2004 à 20:35:50

comment utiliser le port COM, le port parallèle, ou le port USB en c++ ?

DasHuhn
DasHuhn
Niveau 10
15 janvier 2004 à 21:45:41

Le port COM1 est, théoriquement, accessible par les flux :

int fprintf(FILE *stream, const char *format, . ..);

Le premier argument est un flux ou un fichier :

stdin clavier ( ici, non-utilisable) ( en général)
stdout écran ( en général)
stderr écran ( en général) ( flux d´erreur)
stdprn ( PC UNIQUEMENT) LPT1
stdaux ( PC UNIQUEMENT) COM1

Ca, c´est en C, et n´utilisant pas de PC je n´ai pas pu le tester. Mais théoriquement, ça marche. Maintenant, il doit y´avoir d´autres moyens moins fragiles d´accèder à un périphérique...

JeanYvesYves
JeanYvesYves
Niveau 10
16 janvier 2004 à 00:56:39

DasHum a raison : pour preuve, sous DOS, tu déroutes directement ta sortie STDOUT avec >

exemple : tu as un fichier texte :
sous DOS, tu l´affiches,

type monfichier.txt

ça écrit sur STDOUT
mais si tu fais :

type monfichier.txt > LPT1

ça l´envoie sur l´imprimante, donc c´est bien a utiliser avec FILE*

Pour l´USB, c´est différent, le port USB est associé a un controleur electronique qui est vu par windows/linux comme une carte a part entiere : de ce fait, une carte se pilotant UNIQUEMENT avec son pilote, il faut que tu invoques le pilote USB de Windows pour t´en servir.

Autant tu peux faire des trucs sympa avec les portes COM et LPT, autant pour le USB, c´est bien plus compliqué.

Note : je m´étais déja penché sur la question, pour pouvoir brancher des moteurs de légo sur mon PC : un programme les ferait activer, mais j´ai pas fait, déja car j´avais pas assez de moteurs, ensuite parce que j´avais peur de tout griller : rensigne toi bien sur les tensions et intensités que tu as le droit de mettre et celles que tu ne dois pas mettre ! !
un court circuit pourrait bousiller pas mal de choses....

neg282
neg282
Niveau 7
16 janvier 2004 à 18:56:59

mouais....
mais quand tu dis : " ça l´envoie sur l´imprimante"
ça l´envoi sous quelle forme ?
le signal passe par quelles broches du connecteur ?

DasHuhn
DasHuhn
Niveau 10
16 janvier 2004 à 21:01:09

Aucune idée. Ca l´envoie comme c´était dans le fichier. Je ne pense pas que DOS fasse quoi que ce soit.

Yoda_Software
Yoda_Software
Niveau 30
16 janvier 2004 à 22:03:39

Chaque broche a sa fonction(masse, envoie, réception, . ..) que cela soit sur un port série ou parallèle.

Yoda_Software
Yoda_Software
Niveau 30
16 janvier 2004 à 22:06:34

Le meilleurs moyen d´utiliser les ports parallèle et série sans problêmes, c´est de se plonger dans " la bible PC" qui détaille tout ça ainsi que l´utilisation des interruptions. C´est un petit livre très riche d´environ 1500 pages.

Kelios
Kelios
Niveau 8
16 janvier 2004 à 22:18:08

Au niveau de l´imprimante, j´imagine que Windows appèle le Driver de l´imprimante.

Maintenant, au niveau des broches du port physique, il doit l´envoyer sous une forme de texte brut. La mise en page minimale devant être effectuvé par la routine de flux. Mais il ne touche pas directement au broches, c´est par des ports I/O...

J´ai un peu de docs dessus ( driver dev oblige...):
http://www.nondot.org/sabre/os/files/Communication/parallel.txt

Kelios
---------

Yoda_Software
Yoda_Software
Niveau 30
16 janvier 2004 à 22:50:21

Les " Drivers imprimantes, ne sont ni plus ni moins que des bibliothèques de fonctions permettant d´utiliser une imprimante. Et à part pour créer un driver inexistant, il n´y a plus grand intérêt à essayer de développer vers une imprimante.
Par contre programmer l´utilisation d´un port série ou parallèle vers un périphérique genre robot, il y a matière. Et là, la connaissance du brochage du port a son importance.

neg282
neg282
Niveau 7
17 janvier 2004 à 13:03:23

Je pense qu´il faut que je repose mon problème :
Je veux envoyer du courant dans certaines boches d´un port, ou tester si j´en recoit à l´aide du c++.
Comment je peux faire.
( Est ce que je peut choisir la tension que j´envoi dans la broche ou c´est toujours la meme ? )

Kelios
Kelios
Niveau 8
17 janvier 2004 à 16:25:10

" Je pense qu´il faut que je repose mon problème :
Je veux envoyer du courant dans certaines boches d´un port, ou tester si j´en recoit à l´aide du c++.
Comment je peux faire.
( Est ce que je peut choisir la tension que j´envoi dans la broche ou c´est toujours la meme ? ) "

Au niveau hardware, je préfère pas me prononcer, mais j´imagine qu´en rajoutant une bébelle électronique autour du port... enfin, je sais pas trop moi.
Au niveau software, avec du C/C++ par exemple:
Il te faudra utiliser les port I/O, un prog sous DOS fera l´affaire.
Au niveau du port parralèle:
http://www.nondot.org/sabre/os/files/Communication/parallel.txt
Et du port série:
http://www.nondot.org/sabre/os/files/Communication/ser_port.txt

Je n´ai pas tout lu, mais je me doute bien que il y a matière à controler en partie les broches... Par contre, c´est pas évident, alors j´imagine que si quelqu´un a une autre solution, ça ne ferait pas de mal :)

" ( Est ce que je peut choisir la tension que j´envoi dans la broche ou c´est toujours la meme ? ) "
J´aurais tendance à dire toujours la même. Ptêt qu´il existe certains chipsets qui permettent de choisir la tension, mais ça doit être rare. À toi de vérifier avec la doc de ton chipset.

Kelios
---------

JeanYvesYves
JeanYvesYves
Niveau 10
19 janvier 2004 à 12:18:32

Il me semble qa ele signal parrallele envoie les codes ASCII un par un.
Comment ? Il y a 8 broches, une pour chaque bit du code ASCII, une masse évidemment, ainsi qu´un signal d´horloge qui permet la synchro ( quand un caractere est envoyé, le signal aussi), et entre 2 caracteres, tu as rupture du signal.
Les broches exactes, tu les trouveras sur un site ( avec leur description)
Tout ce que tu as a faire, c´est envoyé un code ASCII tel que le bit k soit allumé ( le bit k étant celui que tu veux tester)
tu y relie a la masse, et ça roule.

La tension envoyée est unique, cela dit, si tu veux mettre une tension différente dans l´entrée de ton circuit qui suit, met un relai.

dnob700
dnob700
Niveau 10
27 janvier 2004 à 10:00:37

en c/c++ j´ai pas la moindre idée comment on fait, mais je sais qu´en qbasic, on utilisait les commande inp out et wait pour envoyer ou lire des information octet par octet vers ou depuis un port de l´ordinateur ( com, lpt, mais aussi clavier, etc.)

Et on controlait au niveau logiciel quel broche étaient sous tension pour les port com. De là a te dire quelle était la tension, j´en sais sais rien, mais je pense pas qu´on puisse la controler.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment