Bonjour,
j'essaye de piloter des I/O d'une carte mère mini-ITX (Axiomtek SBC86807). Je sais que sous Xp, on ne peut pas attaquer directement avec inportb/outportb. J'ai donc essayer par un CreateFile, çà compile mais ne marche pas: INVALID_HANDLE_VALUE
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 #include <windows.h> #include <iostream> #include <dos.h> #define ADDR_DIO 0x40B8 void Init_IO( void ); void Write_IO( long data ); using namespace std; HANDLE hIO; // déclarer un handle int main (int argc, char *argv[]) { Init_IO(); Write_IO(0x00); cout << "Press ENTER to continue..." << endl; cin.get(); return 0; } void Init_IO( void ) { char adresse[7]; sprintf( adresse, "0x40B8"); hIO = CreateFile( adresse, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if( hIO == INVALID_HANDLE_VALUE ) cout << "Error opening IO!" << endl; } void Write_IO( long data ) { DWORD written; // variable qui recoit le nombre de byte écrit WriteFile( hIO, &data, 1, &written, NULL ); }
Voilà, je pige pas trop pourquoi çà marche pas.... j'ai un doute sur mon adresse....
Partager