Sel.Al.arkadaşlar.forumdaki comport örneklerini inceleyerek şöyle bi kod yazdım .kontrol etmek istediğim cihaz bi tıbbı tahlil cihazı.cihazın dökümanlarında siz ona ENQ biligisini yollayınca size ACK bilgisini yollayacak .şimdi yazdığım kod .komponentlerim apro componenetleri .
önce cihaza ENQ bilgisini yolluyorum.kod şu
procedure TForm1.testClick(Sender: TObject);
begin
ApdComPort1.Output:='ENQ';
edit2.Text:='ENQ';
end;
daha sonra cihazın yolladığı cevabı almak için apdcomportun ApdComPort1TriggerAvail olayına şu kodu yazıyorum arkadaşlar.
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
VAR
i:integer;
c:char;
s:string;
begin
for i:=1 to count do begin
c:=ApdComPort1.getchar;
//s:=s+c;
case C of
#0..#31 : {Don't display} ;
else S := S + C;
end;
edit1.Text:=s;
if s='ACK' THEN begin
edit1.Text:=s;
edit3.Text:='bağlandı';
ApdComPort1.Output:='EOT';
end
else begin
edit3.Text:='bağlanmadı';
end;
end;
end;
ama malesef cihaz bana bu ACK bilgisini yolluyormu porttan okuyamıyorum.yada porta bilgiyi yanlış yolluyorum.daha önce hiç comportla çalışmadım.forumdaki örneklerden faydalandım.umarım içinizde bu tur bi cihazı control eden arkadaşlar vardır.yardımlarınızı bekliyorum arkadaşlar.şimdiden teşekkür ederim Allah razı olsun.
comporttan bilgi okumayla ilgili bi sorun
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
öncelikle enq yolladıktan sonra aldığın cevabı bi yerde yazdır ve gör. eğer cevap ack ise diğer işlemlere geç. cihaz belki ack den başka şeyler de yolluyor olabilir. tabi bunların hepsi bağlantı ayarlarının doğru olmuşsa çalışır.
eğer hiç cevap yollamıyorsa bağlantı ayarlarını kontrol et.
eğer hiç cevap yollamıyorsa bağlantı ayarlarını kontrol et.
öğrenmek, zorlukları yenmektir.