paralel portda veri yazmayı yaptım ama okumanasıl

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ebekir
Üye
Mesajlar: 52
Kayıt: 06 Nis 2006 05:23

paralel portda veri yazmayı yaptım ama okumanasıl

Mesaj gönderen ebekir »

arkadaşlar led yakıp söndürmeyi yaptım ama okumayı anlamadım aşağıda kod var bazı yerlerini anladım ama if(b1+$08) kontrolü ne demek yardım ederseniz sevinirim.


if LPT1.Checked then BASE:=$378 else BASE:=278;
b:=SmallPort1.Port[BASE];
b1:=SmallPort1.Port[BASE+1];
if(b1 and $08)<>0 then Error.Checked:=true else Error.Checked:=false;
if(b1 and $10)<>0 then Select.Checked:=true else Select.Checked:=false;
if(b1 and $20)<>0 then PE.Checked:=true else PE.Checked:=false;
if(b1 and $40)<>0 then ASK.Checked:=true else ASK.Checked:=false;
if(b1 and $80)<>0 then BUSY.Checked:=true else BUSY.Checked:=false;
if(b and $01)<>0 then Bit0.Checked:=true else Bit0.Checked:=false;
if(b and $02)<>0 then Bit1.Checked:=true else Bit1.Checked:=false;
if(b and $04)<>0 then Bit2.Checked:=true else Bit2.Checked:=false;
if(b and $08)<>0 then Bit3.Checked:=true else Bit3.Checked:=false;
if(b and $10)<>0 then Bit4.Checked:=true else Bit4.Checked:=false;
if(b and $20)<>0 then Bit5.Checked:=true else Bit5.Checked:=false;
if(b and $40)<>0 then Bit6.Checked:=true else Bit6.Checked:=false;
if(b and $80)<>0 then Bit7.Checked:=true else Bit7.Checked:=false;
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Ben şöyle yaptım;

Kod: Tümünü seç

  d:=SmallPort1.Port[$379];
  if d>=128 Then CheckBox13.Checked:=True else CheckBox13.Checked:=False; d:=d mod 128;
  if d>=64  Then CheckBox12.Checked:=True else CheckBox12.Checked:=false; d:=d mod 64;
  if d>=32  Then CheckBox11.Checked:=True else CheckBox11.Checked:=False; d:=d mod 32;
  if d>=16  Then CheckBox10.Checked:=True else CheckBox10.Checked:=False; d:=d mod 16;
  if d>=8   Then CheckBox9.Checked:= True else CheckBox9.Checked:=false;
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

merhaba arkadaşlar. bi ev otomasyonu üzerinde çalışıyorum da. porttan okumayla alakalı 2 sorum olcaktı.

1. sorum:
ilk başta yazmayı data dan okumayı status tan yapmıştım ama status belirli süreyle kendini sıfırlıyo ve dolayısıyla sistem saçmalıyo ( neden sıfırladığını anlamadım bilen varsa ???)


2. sorum: bu sorundan dolayı ecp moda dönüp yazmayı da okumayı da datadan yapayım diyorum. 4 bit okuma 4 bit yazma için kullanıcam. ama paralel port da ecp çalışmak için bi ayar yapmam gerekiyor mu?? biosdan ecp ye ayarlıyacağım. orası tamam. ecp moda alınca direk hem okuma hem yazma yapabilirmiyim yoksa bi ayar yapmam gerekiyor mu portla alakalı (configuration word falan) ???
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

devreye bir buffer entegresi atmanız lazım. aynı anda okuma ve yazma yapamasınız. yapmaya çalışırsanız anakart üzerinde IO yanabilir. Sistemi yarı canlı olarak tasarlayın. Flip-Flop koyarak ledleri yakmak için sürekli sinyal basmak zorunda kalmayın.
Cevapla