Merhabalar; Şu an yazmakta olduğum programda seri porttan veri göndermek ve almak üzerine çalışmaktayım. Linux sistemimde konsolda ,
echo "Test" > /dev/ttyS0 yazdıgımda seriport çıkışında bu stringi görebilmekteyim. Yazdığım programda open() fonksiyonu ile seri portu açıp write() ile o porta yazabilmekteyim. Sorun olarak gördüğüm şey ise veri gelişi düzenli bir aralıkta olmadığı için yani bazen 1 dakikada bir veri gelirken bazen veri çok yogun bir şekilde gelebilmekte. Buna çare olarak ise "sigaction" structure i kullanarak, signal handling işlemi yapmaktı. Anladığım kadarıyla seriporta veri geldiği anda bir sinyal üretilmekte vebu sinyale göre tanımlı bir fonksiyon çağırılmaktadır. Ben C++ da bir static fonksiyon tanımladım ve bu fonksiyon içerisinde static bir degişkenin degerini degiştirerek porttan veri okutturmak istedim. Fakat bunu LOG lardan da anladığım kadarıyla başaramadım. Kafama takılan noktalar ise şunlar fcntl() fonksiyonu ile seriport asenkron olarak tanımlanıyor sanırım. Bu doğru mu? "Sigaction" kullanımı ile ilgili yardımcı olabilirmisiniz? Maile kendi kodumu ekledim. Uzman arkadaşlardan tavsiyeler olursa çok sevinirim. Iyi çalışmalar dilerim. Canibek Sağın
SCom.h
Description: Binary data
SCom.cpp
Description: Binary data
_______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
