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
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama