Bildirim
C# - RS232 Timer Sorunu
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
2 Misafir - 2 Masaüstü
Giriş
Mesaj
-
-
Şimdi dostum öncelikle timer ın nasıl çalıştığını anlaman lazım. toolboxtaki timer ui threadında çalışıyor. Bu yüzden ui yi meşgul ediyor. Multi threaded asenkron programlamayla felan çok içli dışlı değilim ama senin kullanman gereken şey System.Threading.Timer . Farklı bir threadda çalışacağı için ui yi meşgul etmez sen de istediğin gibi durdurabilirsin. UIde değişiklik yapmak istediğinde hata vericektir. Onun için şuna bakhttp://stackoverflow.com/questions/661561/how-to-update-the-gui-from-another-thread-in-c -
Split:
"ST,GS, 15.6 g".Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
sana 3 değer döndürür: "ST,GS," - "15.6" - "g"
Multithread:
Thread t = new Thread(new ThreadStart(fonksiyonAdi));
şeklinde threadleri kurduktan sonra,
t.Start();
şeklinde başlatırsın. Threadler çok önemli bir kod bloğunda aynı anda bulunmasın diye de kilit mekanizmasını kullanırsın:
object kilit=new object;
lock(kilit)
{
calisiyorTmp = calisiyor; // yapılması gerekenleri burada yaparsın, aynı anda sadece bir thread burada bulunabilir
Monitor.PulseAll(kilit); // gerekirse, burayı bekleyen diğer threadlere işaret gönderir(bekleyen varsa uyandırır)
Monitor.Wait(kilit); // gerekirse, bu threadi uyutur ki boş çalışmasın, işlemci yükü oluşturmasın gereksiz şekilde.
}
< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 2 Haziran 2016; 18:42:33 >
-
Çok teşekkür ederim.
Okuma sorununu
" private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) " ve readtimeout kullanarak çözdüm. Split için de timer için de teşekkür ederim. :) -
Bu Tiip durumlarda System.Threading.Timer kullanmak kesin çözüm.
UI üstündeki timer belirli bir zaman sonra sıkıntı yaratmaya başlıyor.
Uygulama Açık kalma süresi ortalama 20 günü geçtiğinde, o yüzden System.Threading.Timer kullanmak gerekir. RS232 gibi bağlantı seçeneklerinde, sunucu dan cevap beklerden vs.
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X