|
我查看了些资料说winio可以读出我按照那个来发现一get就异常' j! A& Q3 A" j% k/ R
void Wait4Get()
% Y# @( O! v# u3 A/ o2 m{+ |- y& y* w/ c& u, K+ @0 p9 N
DWORD tmp = 0;
% L: m% N( W6 h GetPortVal(0x6c, &tmp, 1);) v# C* v1 t& r. G, ~
if (tmp != 1)% P! v+ ]% E' y
Wait4Set();
: K0 l% \7 ?+ j L4 `! _" }}
+ s. D' L3 v* w5 J9 V7 kvoid Wait4Set()
1 ]2 X. X; l5 |7 g& i{1 k8 w" w3 v" Y. L, G. Q' ~6 D' H+ G5 s
DWORD tmp = 0;
+ A! Z9 b3 O: W9 c' ~ GetPortVal(0x6c, &tmp, 1); P- m T) ?0 Q( [" R8 R
if (tmp != 2)
0 ~) x! e& F3 q Wait4Set();
- N$ T4 t1 W2 k2 x
' c7 p9 w) L: t* l6 m} }; x2 e, I6 F, z% p. W
int main(int argc, char* argv[]) , G4 M% V) H5 e' b) l, \% W" G! n8 {: l
{
! `4 c+ W2 ^' q DWORD temp =0;
9 Z5 z" _. {' s if(!InitializeWinIo())
/ U6 C% |! P& p/ e: U/ x4 u {
! O, a8 A# ^& m" m printf("fail");* W9 w6 H! R. ^2 f
}5 `( g" a; C j0 T% Z1 X* o
Wait4Set();
3 b$ f+ ]8 ?, r# {% a; ^ SetPortVal(0x6c,0x80,1);* |3 l1 Q0 E& w) M9 w$ O" h0 z
Wait4Set();
0 p3 ^: F. k! Z" O3 Q SetPortVal(0x68,0xE7,1);
9 Y, F4 Q( ^. a, N) M0 f Wait4Get();
- p# |% [8 U, q& ~0 r C1 K, @1 ]* d: d# @ GetPortVal(0x68,&temp,1);6 \- j8 K2 }( M' T9 a! l
printf("%s",temp);0 O7 F4 [. Y1 N" O& Q* y* |1 T
ShutdownWinIo();- q( J [& n; w8 o
return 0;
7 {/ ]+ A5 O9 k h( J1 [& L} |
|