Bonjour !
J'aurai aimer savoir si il est possible de piloter le port // sous dos avec les fonctions open read write et close ?
Version imprimable
Bonjour !
J'aurai aimer savoir si il est possible de piloter le port // sous dos avec les fonctions open read write et close ?
Piloter ? Non.Citation:
Envoyé par yodaime
Sous DOS, il faut attaquer directement le bazar à coup de inp() / outp() (le nom exact dépend du compilateur).
http://www.beyondlogic.org/
oK
il n'est donc pas possible de faire un:?:Code:lp1 = _open("LPT3", O_RDWR) ;
Peut être, mais, à ma connaissance, il n'y a pas d'[_]ioctl() sous DOS... Tu ne vas pas aller loin... Mais si ton compilateur à ce qu'il faut, pourquoi pas... C'est quoi l'application sans être indiscret ?Citation:
Envoyé par yodaime
Est ce que se serai possible d'avoir une source pour voir comment on fait parce que la je voit pas du tout !
Comme on ne sait pas ce que tu veux faire, on tourne en rond.Citation:
Envoyé par yodaime
- Descritpion de l'application ?
- Plateforme ?
- Compilateur ?
Ok excuse moi c vrai que c pas très précis !
Alors je develloppe sous visual c++ 6 sous windws xp 2
voila le code que j'ai
J'aimerais savoir si il peut passer sous dos et quel serai les modifications a faireCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #include <stdio.h> #include <io.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int main (void) { /********************DECLARATION DES VARIABLES************************************/ /*********************************************************************************/ int cmdRelais = 0 ; int lp1 ; /********************PARTIE EXECUTIVE*********************************************/ /*********************************************************************************/ printf("%s", "\t\tBienvenue dans la console de commande des relais\n\n") ; lp1 = _open("LPT3", O_RDWR) ; if(lp1 != 3) { printf("%s", "\nImpossible d'ouvrir le port !\n") ; return 0 ; } printf("%s", "Veuillez saisir le relais a commander :\n") ; printf("%s", "\t0 - Aucun relais\n") ; printf("%s", "\t1 - Relais 1\n") ; printf("%s", "\t2 - Relais 2\n") ; printf("%s", "\t4 - Relais 3\n") ; printf("%s", "\t8 - Relais 4\n") ; printf("%s", "\t16 - Relais 5\n") ; printf("%s", "\t32 - Relais 6\n") ; printf("%s", "\t64 - Relais 7\n") ; printf("%s", "\t128 - Relais 8\n") ; scanf("%i", &cmdRelais) ; _write(lp1, &cmdRelais, 1) ; close(lp1) ; return 0 ; }
Merci d'avance
Argh, j'ai pas révé, tu m'as parlé de DOS ? XP, c'est un NT. Rien à voir avec DOS. Il faut des fonctions bas niveau de l'API Win32. MSDN est ton ami.Citation:
Envoyé par yodaime
Je ne comprends rien. L'application, elle doit tourner sous DOS ou sous XP ?Citation:
J'aimerais savoir si il peut passer sous dos et quel serai les modifications a faire
Ben je developpe sous xp mais il faut qu'elle tourne sous dos
Ah... Ben ça va pas être simple. Pourquoi tu ne développes pas sous DOS ? Quelle est la plateforme DOS ?Citation:
Envoyé par yodaime
Deja est-ce que tu ne confonds pas DOS et l'invite de commande???
Non je suis sur dos 6 mais le truc c'est que mon système sous dos est un système embarqué donc pas question de developper dessus.Citation:
Envoyé par Skyrunner
Il va falloir te tirer les vers du nez un par un ? Tu ne peux pas expliquer la situation dès le départ qu'on sache quoi répondre ? Tu ne veux pas qu'on t'aide ou quoi ?Citation:
Envoyé par yodaime
Oublie VC++6 pour développer du code 16-bit.
Il faut du Borland C 2.x ou 3.x, ou du vieux Microsoft (C 5.x) ou peut être du Watcom...
Et c'est là qu'on va apprendre que tu as un DPMI et que tu travailles en 32-bit, c'est bien ça ? Si c'est le cas, voir DJGPP. Mais pour les accès aux I/O, j'ai un doute...
Euh a la base ma question c'etait juste de savoir si on pouvait utiliser open et tou le toutim avec le port parallèle en dos !
Ensuite on m'a dit d'utiliser outportb ou inportb pour piloter le port parrallèle. Je veut juste savoir comment on fait, si quelqu'un a des exemples a me fournir c tout.
Je voit pas trop en quoi je m'exprime mal !
Heink ? Port série ? Je cite :Citation:
Envoyé par yodaime
Alors comme ça, // signifie série ? On me cache tout, on ne me dit rien ?Citation:
J'aurai aimer savoir si il est possible de piloter le port // sous dos avec les fonctions open read write et close ?
Dois-je vraiment répondre à ça ?Citation:
Je voit pas trop en quoi je m'exprime mal !
Ecoute si tu veut pa m'aider tu m'aide pas y pis c tout !
Je demande juste deux trois truc et toi tu en fait toute une montagne. Je te remercie de te soucier de mon problème mais pour l'instant a par des reproches g pas eu trop de solution a mon problème
Bon pour être clair tu travaille sur un port // (parallèle) ou un port série, car dans le sujet du topic tu parles du port parallèle et la tu te met à parler du port série.
Alors c'est lequel des 2???
comme l'indique le sujet du topic port parallèle
Ok. Je repose la question, quelles manips veux-tu faire sur le port // ?Citation:
Envoyé par yodaime
- Ecriture des données ?
- Lecture des données ?
- Ecriture des contrôles ?
- Lecture des contrôles ?
D'autre part, tu as vraiment un lpt3 sur ta plateforme DOS (c'est assez rare?...)
Enfin, le problème du compilateur sur XP devant générer du code 16-bit est-il reglé ?
Je veux bien t'aider, mais je te pose un tas de questions précises pour essayer d'avancer auxquelles tu ne réponds pas. Que dois-je faire ?Citation:
Envoyé par yodaime