[linux-ileri] Re: Port programlama - select() yapisinin kullanimi

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Fri 03 Sep 2004 - 14:41:54 EEST


Selamlar..

Mimari geregi boyle bir sey mumkun degil. IRQ Dedigimiz interruptlar bu
is icin var. Tek yapabileceginiz polling. Ama buda verimsiz, zor ve
garantisiz bir yontemdir:

port_select(int port) {
    int old;
    old = inb(port);
    while (old == inb(port))
        usleep(10); /* 10 mikrosaniye bekle */
}

Tonla dezavantaj vs. var. Herseyden once gereksiz CPU yuku...

Yapacaginiz donanim bilesenini IRQ uretecek sekilde hazirlarsaniz bu
sorunu cozersiniz..

Saygi ve sevgiler..

}

> Elimde ozel bir aygıt var, basitce inb() ve outb() ile belirli
> registerlari okuyup yazarak isleyen bir mekanizma kurmus durumdayim.
> Simdi bu sisteme bir kac analog input baglayip, inputlarda bir degisim
> oldugu anda uygulamadan bir fonksiyonun calismasini saglamak istiyorum.
> Port programming belgelerinde /dev/port özel aygiti üzerinden
> programlama yapmanın dezavantaji olarak select() kullanamiyor olmak
> gösteriliyor ancak ben /dev/port yontemini kullanmamama ragmen select()
> yapisi ile gerektiginde uyanip ilgili degerleri portlardan nasil
> okuyacagimi da bilmiyorum. Bu konuda fikri olan var mi :)
>
>
>


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.