Soru & Cevap

c#'ta serialport kullanırken programın donması

03.10.2018 - 08:40

c#'da bir arayüz hazırladım ve serialportta arduinodan veri geliyor fakat veri gelmeye başladıktan sonra arayüzdeki butonlar kullanılmıyor, program donuyor ama veri gelmeye devam ediyor. arduinodan gelen veri sadece arduino üzerinden butona basılınca kaç defa basıldıgı verisi gelmektedir

490 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-87289-1569234090.png
yakupgovler
28.09.2019 - 12:09

Thread kullanarak nasıl çözdünüz? Yaptığınız projeyi ekleme şansınız var mı?

Profile picture for user yadin919
yadin919
05.10.2018 - 08:29

Thread kullanarak sorunu çözdüm.Veriyi okuma işleminide serialPort1.ReadLine(); şeklinde degilde serialPort1.ReadExisting(); bu şekilde yaptım hiçbir sıkıntı kalmadı teşekkürler hocam

Profile picture for user Assembly
Assembly
04.10.2018 - 02:04

Aslına bakarsanız donmuyor.Yalnızca programınız o anda seri portu dinlediğinden diğer işlemlerinize cevap vermiyor çünkü yapılan işlem Senkron(Eşzamanlı).Sizin ise bu işlemi Asenkron(Eşzamansız) olarak yapmanız gerekiyor.Konuyla ilgili internette "C# Async Serial Port Read" şeklinde arama yaparsanız çözüme ulaşırsınız.Ayrıca konuyla ilgili detaylı bilgi için şu adresi inceleyin.

https://gelecegiyazanlar.turkcell.com.tr/blog/eszamansiz-asenkron-programlama