bonjour


j'ai trouvé ce code pour comuniquer avec le port parallel je veux savoir comment crée un tompo pour faire clignoter une led connecté au port
et comment definer les bits de la variable X exemple bit0 = led, bit1 = clk,
bit2 = data


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**************************************************/
/***                                            ***/
/*** TEST.c  -- test interface to inpout32.dll  ***/
/***  ( <a href="http://www.logix4u.net/inpout32.htm" target="_blank">http://www.logix4u.net/inpout32.htm</a> )   ***/
/***                                            ***/
/*** Copyright (C) 2003, Douglas Beattie Jr.    ***/
/***                                            ***/
/***    <beattidp@ieee.org>                     ***/
/***    <a href="http://www.hytherion.com/beattidp/" target="_blank">http://www.hytherion.com/beattidp/</a>      ***/
/***                                            ***/
/**************************************************/
 
 
/*******************************************************/
/*                                                     */
/*  Builds with Borland's Command-line C Compiler      */
/*    (free for public download from Borland.com, at   */
/*  <a href="http://www.borland.com/bcppbuilder/freecompiler" target="_blank">http://www.borland.com/bcppbuilder/freecompiler</a> )  */
/*                                                     */
/*   Compile with:                                     */
/*                                                     */
/*   BCC32 -IC:\BORLAND\BCC55\INCLUDE  TEST.C          */
/*                                                     */
/*                                                     */
/*  Be sure to change the Port addresses               */
/*  accordingly if your LPT port is addressed          */
/*  elsewhere.                                         */
/*                                                     */
/*******************************************************/
 
 
 
 
#include <stdio.h>
#include <conio.h>
#include <windows.h>
 
/* Definitions in the build of inpout32.dll are:            */
/*   short _stdcall Inp32(short PortAddress);               */
/*   void _stdcall Out32(short PortAddress, short data);    */
/* prototype (function typedef) for DLL function Inp32: */
 
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
 
int main(void)
{
 
     HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;
 
     short x;
     int i;
 
     /* Load the library */
     hLib = LoadLibrary("inpout32.dll");
 
     if (hLib == NULL) {
          printf("LoadLibrary Failed.\n");
          return -1;
     }
 
     /* get the address of the function */
 
     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
 
     if (inp32 == NULL) {
          printf("GetProcAddress for Inp32 Failed.\n");
          return -1;
     }
 
 
     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
 
     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }
 
 
/* ************************************************************* */
/* now test the functions */
 
     /* Try to read 0x378..0x37F, LPT1:  */
 
     for (i=0x378; (i<0x380); i++) {
 
          x = (inp32)(i);
 
          printf("port read (%04X)= %04X\n",i,x);
     }
 
 
 
     /*****  Write the data register */
 
     i=0x378;
     x=0x77;
 
     (oup32)(i,x);
 
     printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);
 
 
     /***** And read back to verify  */
 
     x = (inp32)(i);
     printf("port read (%04X)= %04X\n",i,x);
 
 
 
     /*****  One more time, different value */
 
     i=0x378;
     x=0xAA;
 
     (oup32)(i,x);
 
     printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);
 
     /***** And read back to verify  */
 
     x = (inp32)(i);
     printf("port read (%04X)= %04X\n",i,x);
 
     FreeLibrary(hLib);
 
     return 0;
}
merci davance