делаю так:
procedure TForm1.ReadBtnClick(Sender: TObject);
var
firstadr, lastadr:word;
k:Cardinal;
l:Longint;
data:dword;
begin
LPTReset;
firstadr:=0;
lastadr:=$3FF;
k:=(lastadr-firstadr+1);
for l:=1 to k do
begin
sendcmd_to_chip(5);
data:=readdata_from_chip;
HexGrid1.AData[l-1]:=data and $FF;
sendcmd_to_chip(6);
end;
HexGrid1.Repaint;
end;
procedure tform1.sendcmd_to_chip(cmd:integer);
var
i:integer;
g:integer;
begin
LPTMklr;
LPTPwd;
if InMode=true then //(режим входа-true, выхода- false)
InOut;
for i:=0 to 5 do
begin
LPTClk(1);
g:= (cmd shr i) and 1;
lpt.WritePort(GetCurrentPort, LPT_DATA_REG, g);
lpt.Delay(10);
LPTClk(0);
end;
end;
function tform1.readdata_from_chip: integer;
var
i:integer;
begin
//if InMode=true then//(если это использовать, то ни чего не получ.)
//InOut;
for i:=0 to 15 do
begin
LPTClk(1);
lpt.Delay(5);
pair[i].Adr:=LPT_STATE_REG;//(массив array [0..127 ] of Adrdatastruct)
pair[i].Data:= 0;
lpt.ReadPorts(@pair, 16);
LPTClk(0);
end;
end;
В итоге в HexGride начиная с 1 ячейки и по 128 выходит последовательность чисел(в binary) от 1 и до 255(00000001...11111111). Почему???
![Обижен](images/smilies/icon_beee.gif)
.Кто нибудь, помогите пожалуйста.