Schrijven naar LPT gaat prima, maar lezen gaat mis.
Ik programmeer in FreePascal (win32) in XP, en gebruik DLPortIO.dll voor de communicatie. Hier een stuk code:
<pre>
procedure DlPortWritePortUchar(port: longint; value: byte); cdecl; external 'dlportio';
function DlPortReadPortUchar(port: longint): byte; cdecl; external 'dlportio';
...
var
res: byte;
port: longint;
begin
port := 632; //lpt2
res := 0;
DlPortWritePortUchar(port,155); // dit gaat goed
res := DlPortReadPortUchar(port+1); // dit gaat fout
// als ik bovenstaande regel uitvink, komt geen error
writeln(inttostr(res)); // inttostr werkt wel goed
end.
</pre>
Output:
<pre>
Runtime error 216 at 0x0040130C
0x00.....
...
</pre>
De voorbeeld programmaatjes (in VB en C) van DlPortIO doen het wel prima (zowel lezen als schrijven). Er zat geen Pascal voorbeeld bij. Ik snap niet wat er mis is met mijn programma. Bvbd!
Ik programmeer in FreePascal (win32) in XP, en gebruik DLPortIO.dll voor de communicatie. Hier een stuk code:
<pre>
procedure DlPortWritePortUchar(port: longint; value: byte); cdecl; external 'dlportio';
function DlPortReadPortUchar(port: longint): byte; cdecl; external 'dlportio';
...
var
res: byte;
port: longint;
begin
port := 632; //lpt2
res := 0;
DlPortWritePortUchar(port,155); // dit gaat goed
res := DlPortReadPortUchar(port+1); // dit gaat fout
// als ik bovenstaande regel uitvink, komt geen error
writeln(inttostr(res)); // inttostr werkt wel goed
end.
</pre>
Output:
<pre>
Runtime error 216 at 0x0040130C
0x00.....
...
</pre>
De voorbeeld programmaatjes (in VB en C) van DlPortIO doen het wel prima (zowel lezen als schrijven). Er zat geen Pascal voorbeeld bij. Ik snap niet wat er mis is met mijn programma. Bvbd!