Parapin ile paralel port kontrolü

Başlatan engin_, 03 Mayıs 2006, 17:58:47

engin_

Linux da kendimi kaybedip yazılım furyasına dalıp asıl mesleğimi unutuyordum. Artık bundan sonra kendi mesleğim konularına daha fazla yönelmeyi düşünüyorum ama ne mümkün. Neyse PIC programlama konusuna ağırlık vereyim derken gene nasıl olduysa paralel port kullanma konusunda buldum kendim. Uzun lafın kısası parapin kütüphanesini kullanarak paralel portu çok basit bir şekilde kullanabilirsiniz.

Öncelikle Parapin kaynak kodları indirin >> http://parapin.sourceforge.net/

Kullandığınız Linux çekirdeğine göre, setup-2.4.sh veya setup-2.6.sh çalıştırın ve make komutunu verin.

Oluşan lib paketini ve başlık dosyasını ilgili alana kopyalayın
libparapin.a  >>  /usr/lib   veya /usr/local/lib
parapin.h      >>  /usr/include veya /usr/local/include

Bundan sonra istediğniz programı yazmak kalıyor. Mesela aşağıdaki programda data portuna bağlayacağınız ledleri 200ms aralıklarla yakıp söndürebilrsiniz. Elektroniğin zevkli yanların birisi de led yakmak ya, evde 2 led kalmış ben onlarla idare ettim :)

Programı derlemek için;
gcc led.c -o led -lparapin

led.c kaynak dosyası
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <parapin.h>

int main(int argc, char *argv[]){
char i,x=0;

// Papalel port bağlantısı yapılıyor
// Port kullanılamıyorsa programdan çıkılır
if (pin_init_user(LPT1) < 0)
	exit(-1);
	
// Data portu çıkış olarak ayarlanıyor
pin_output_mode(LP_DATA_PINS);

// Data portu set ediliyor
set_pin(LP_DATA_PINS);

// Paralel portun 1'den 9'a kadar olan pinleri
// yani data pinleri sıra ile yakılıp söndürülür
// 2 kez bu işlemi tekrarlanacak
	while (x<2) { 
		for (i = 1; i <= 9; i++) {
			set_pin(LP_PIN[i]);
			usleep(200000);
			clear_pin(LP_PIN[i]);
		}
		x++;
	}
	
return 0;
}

Archlinux kullanıcıları için PKGBUILD (2.4 kernel kullananlar  "./setup-2.6.sh" kısmını  "./setup-2.4.sh" olarak değiştirsinler)
http://www.hemenpaylas.com/download/638209/PKGBUILD.html
burda PKGBUILD'in bulunduğu dizinde makepkg komutunu vererek derleme işlemi gerçekleştirilebilir.

Oluşan paketi bilgisayarınıza yüklemek için root hakları ile aşağıdaki komutu vermelisiniz;
pacman -A parapin-1.0.0-1.pkg.tar.gz

Hazır paket:
http://www.hemenpaylas.com/download/638248/parapin-1.0.0-1.pkg.tar.gz.html

Bu arada derlediğiniz programı çalıştırmak için malesef root olmanız gerekiyor. Bu durum kullanılan ioperm fonksiyonundan kaynaklanıyormuş.