e-lishin

SOMETIMES.... A DROP OF INK, MORE BEAUTIFUL THAN A DIAMOND

ane pernah bikin program C di linux kaya gini nih:

#include
main()
{
int i;
for (i=1;i=5;i++)
     system ("gedit");
     system ("kill gedit"); 
}

setelah itu ane simpen di directory home /home/lishin/ dengan nama coba.c
nah kemudian, seperti biasa ane compile dah tuh dengan perintah:
gcc coba.c -o coba
kemudian ane execute dengan perintah:
 ./coba
kalo melihat program, seharusnya gedit muncul-close-muncul-close sebanyak 5 kali..
tapi ternyata tidak seperti itu..gedit muncul, tapi kemudian tidak mau close dengan sendirinya..
setelah ane close manual, gedit muncul lagi,close lagi, muncul lagi, begitu terus..dan lagi ternyata prosesnya tidak mau berhenti..(jadi geditnya tu muncul-diclose-muncul-diclose-muncul-diclose-muncul gitu terus..)
nah looooo..kok bisa gitu (bingung dikit)
kalau pemikiran ane sih (ntah bener apa gak) seperti ini:
pada perintah   system ("kill gedit");  terjadi kesalahan penulisan perintah..harusnya tuh perintahnya:
system ("kill job ID gedit")  (caba cek dulu di man kill dah..)
mungkin gitu..
sweetheart..
if the night was falling..
you lie in my feeling..
slice me into pieces..
got me like dices..
puzzling my mind..
dazzling until blind..
sweetheart..oh sweetheart..
you got my whole life..
sesuai judulnya..kita akan mencoba mengontrol port paralel yang ada di komputer kita..
OK,langsung ja gan..berikut gambar rangkaian yang akan kita gunakan

dan berikut untuk script nya:


/* program lpt.c */
#include
#include           /* peletakan file io.h, berbeda-beda untuk setiap distro..silahkan dicek dulu */
#define base 0x378          /* yang ini alamat port paralel komputer..silahkan dicek sendiri */
#define data 0x378+0     /* kalo yang ini alamat port data nya..sama2 0x378..ini cuman untuk membedakan aja */
main()
{
ioperm (base,3,1)             /* memberikan izin untuk alamat i/o */
inb(data);                         /*membaca port data parallel*/
if((inb(data)&0xff)==0xff)
outb(0,data);                   /* jika semua pin port data bernilai 1, maka low-kan */
else
outb(0xff,data);                   /* jika ada pin port data yang bernilai 0, maka high-kan */
ioperm (base,3,0)            /* mengembalikan izin untuk alamat i/o */
}


simpan program dengan nama lpt.c
kemudian buka console, trus pindah ke directory dimana program tadi di simpan..
compile program di console, dengan mengetikkan perintah:
gcc lpt.c -o lpt
lihat, kompilasi ini menghasilkan file biner..(untuk lebih lengkapnya silahkan lihat man gcc)
jika tidak ada pesan error, kita bisa menjalankan program dengan perintah:
sudo ./lpt
dan lihat apa yang terjadi..
oh iya, program di atas,under linux lho ya..jadi kalo dijalankan di windos kagak bisa..

About