portakal

Gönderen Konu: C# RS232 acil ...  (Okunma sayısı 4054 defa)  Share 

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı hasgerya

  • İlk Adım
  • *
  • İleti: 2
  • Toplam: 0
C# RS232 acil ...
« : 22 Aralık 2010, 10:28:45 »
Merhaba arkadaşlar.Ben C SHARP ile RS232 den veri veri alan bir program yaptım .Fakat sorun şu.Programda oku butonu var.Butona basmadan buffer a bakmıyor. Ben ise programın 'oku' butonuna bastıktan sonra sürekli seri porta bakmasını istiyorum.Çünkü 1 kere değil sürekli veri gelioyur seri porttan.Kodumu bir döngü içine almam lazım fakat nasıl ?

Çevrimdışı WhiteScars

  • Genel Yönetici
  • Usta
  • *****
  • İleti: 1047
  • Toplam: 143
  • (,^^)
Ynt: C# RS232 acil ...
« Yanıtla #1 : 22 Aralık 2010, 16:38:02 »
Kod: You are not allowed to view links. Register or Login
while (true){
     Bufferdan okuma işlemi..
     Okuduğun datayı işle.
     döngüden çıkılıp çıkılmayacağı kontrolünü yap, eğer çıkılması gerekiyorsa koşul'u true yap yoksa false.
     if (koşul){
           döngüden çık
           break;
     }
}

şeklinde yapabilirsin.
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir...

Çevrimdışı hasgerya

  • İlk Adım
  • *
  • İleti: 2
  • Toplam: 0
Ynt: C# RS232 acil ...
« Yanıtla #2 : 22 Aralık 2010, 17:06:02 »
peki hocam 2 buton halinde yapsak.'Başlat' ve 'Durdur' olarak. Ben başlat dediğimde sürekli baksın  ve ben istediğim
yerde durdurabileyim öyle olmazmı ?

Çevrimdışı WhiteScars

  • Genel Yönetici
  • Usta
  • *****
  • İleti: 1047
  • Toplam: 143
  • (,^^)
Ynt: C# RS232 acil ...
« Yanıtla #3 : 09 Ocak 2011, 02:57:05 »
You are not allowed to view links. Register or Login
peki hocam 2 buton halinde yapsak.'Başlat' ve 'Durdur' olarak. Ben başlat dediğimde sürekli baksın  ve ben istediğim
yerde durdurabileyim öyle olmazmı ?

Olur neden olmasın.

Mesela;

bi tane global değer atayacaksın boolean tipinde. Başlat tuşuna bastığında bu değer true olacak ve sürekli loopun içinde kalacak. Dudur'a bastığında bu global değer false olacak ve döngüden çıkacak.

Örnek:

int flag = true; // program ilk çalıştığında kullanıcı zaten başlat tuşuna basmış kabul ediyoruz. Bu kısmı class'ın en üstüne koyacaksın. global değişken olması için.

bu kısmı start button içine koyabilirsin koyabilirsin.

flag = true;

while(flag){
    Bufferden veriyi oku
    Veriyi işle
    if (!flag){
        break;
    }
}


önemli olan durdur tuşuna bastığın an flag'ı false yapman.

bu kısımıda durdur tuşu içine koyabilirsin

flag = false;



İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir...

Bilişim Forum

Ynt: C# RS232 acil ...
« Yanıtla #3 : 09 Ocak 2011, 02:57:05 »

 

İstediğiniz Sorudan Başlayabilirsiniz | Doktor a Sor