[Ana Sayfa] ß

 

Turbo C’de I/O Port Erişimi

 
Turbo C’ de I/O portlarına önceden tanımlanmış olan outportb ve inportb fonksiyonları  arcılığıyla erişilir.
 
# include <stdio.h>
# include <dos.h>
               # define      data    0x378
               # define    status    0x379
               # define  control    0x37A
 
               unsigned char veri ;
outportb(data,veri);
veri = inportb(status);
      
Şimdi size ouportb komutunu daha somut bir örnekle açıklamak isterim.Sözgelimi LPT1’in D1 ve D2  terminallerine bağlı ve topraklanmış iki adet  led düşünelim. Bunların sırayla  ve birer saniye aralıklarla yanıp sönmesini istenirse;
        
           do {  outportb(data,2);
                    delay(1000); outportb(data,0); 
                    outportb(data,4);
                    delay(1000); outportb(data,0);
        }while(1);

gibi bir kodlama kullanılabilir.
 


Qbasic’ te  I / O  Port  Erişimi 
 

data = &H378
status = &H379
control = &H37A
 
OUT data ,veri
veri = INP(status)
 
 
Turbo Pascal’da I/O Port Erişimi

 
Pascal’da  “ port : array[0..65535] of byte “ şeklinde önceden tanımlanmış “ port “ dizisi kullanılır.

Const  data = $378
           status = data+1
           control = data+2
 
var
    veri : byte;
 
port[data] :=veri ;
veri :=port[status]; 

 

Delphi’de Port Erişimi

Delphi ‘de asm komutları kullanılır.Bunu göstermek için çok basit bir program yazdım.

Aşagıdaki formda gonder tuşu tıklandığında edit kutuusnda bulunan unsigned  integer  değer LPT1 çıkışlarına gonderilmiş olur.

 

 image014.jpg (37651 bytes)

à