vb net 2010 seri iletişim

Başlatan secilcemal, 23 Eylül 2014, 15:30:33

secilcemal

İyi Günler,
Vb net 2010 ile pic arasında seri  iletişim ile haberleşiyorum. Pic e 11 byte lık ilk seriyi gönderip Ok cevabını aldıktan sonra  2. seriyi göndermek istiyorum ama başaramıyorum, program donuyor.Bu sorunu nasıl çözebilirim?

  BufferOut(1) = Val(byte1value.Text)
        BufferOut(2) = Val(byte2value.Text)
        BufferOut(3) = Val(byte3value.Text)
        BufferOut(4) = Val(byte4value.Text)
        BufferOut(5) = Val(byte5value.Text)
        BufferOut(6) = Val(byte6value.Text)
        BufferOut(7) = Val(byte7value.Text)
        BufferOut(8) = Val(byte8value.Text)
        BufferOut(9) = Val(byte9value.Text)
        BufferOut(10) = Val(byte10value.Text)
        BufferOut(11) = Val(byte11value.Text)
        Dim s As Byte
        s = 1
        For s = 1 To 11
            SerialPort1.Write(BufferOut(s) & "A")

        Next
           Do Until Replyback.Text = "S"  programın donmasını sağlayan satır.
       
           Loop


     

Kabil ATICI

#1
İlk seriyi butonun olduğu yerde gönder, ikinci ve varsa diğer seriyi 'Seri port" verilerini okuduğun yerde. Basitçe bayrak kullanıyorsun. Verileri göndermeye başladığın yere  bir bayrak açıyorsun (global değişken olarak tanımı, çünkü bu değişkene hem butonda hem seri port okumada ulaşalimen gerekir.
değişkenimiz interger olarak  "veri_gon" diye bir şey olsun ve ilk değeri 0 olsun.
Verileri göndermeye başladığın yerde (butonun olduğu yer veya her neresi ise) veri_gon=1 yaparsın.

Sonra seri verileri okuduğun yerde;

if Replyback.Text = "S" AND veri_gon=1 then
//buraya göndereceğin ne varsa yaz..
//eğer başka bir seri göndereceksen
veri_gon=2  //yaparsın.
Replyback.Text = ""
end if

if Replyback.Text = "S" AND veri_gon=2 then
//buraya göndereceğin ne varsa yaz..
//tüm göndereceklerin bittiyse
veri_gon=0  //yaparsın.
Replyback.Text = ""
end if
ambar7

secilcemal

Evet, ama çok fazla veri gönderiyorum, bazen 200 bazen 1000, pek tercih etmeyeceğim bir yöntem bu, dışarıdan serialport.recievedtext event ine ulaşma yöntemi yok mudur, yada onu sorgulama?