Sabtu, 19 Mei 2012

Pengaksesan Port Parallel Pada Visual Basic 6.0


   
      Setelah kita mengetahui anatomi port parallel dan konfigurasi slot DB-25 yang terletak di belakang komputer, tentu timbul pertanyaan bagaimana port-port tersebut dapat digunakan untuk mengontrol, yakni untuk mengirimkan atau menerima data.
      Sebelum kita melangkah lebih jauh, kita harus melihat beberapa keterbatasan dalam VB. Karena VB tidak dapat mengakses hardware secara langsung dalam system operasi windows, maka semua permintaan pengaksesan hardware harus melalui windows. Mungkin kita dapat menggunakan Windows Api untuk melakukan ini, tetapi kami tidak menemukan fungsi yang disediakan oleh Windows Api untuk melaksanakan tugas tersebut. Oleh karena itu, kita harus menggunakan program eksternal untuk melakukan pengaksesan hardware secara langsung pada program kita. Untuk itu kita telah membuat sebuah file DLL (Dynamic Link Library) yang kita beri nama Port_IO.dll  dengan menggunakan Delphi yang bisa digunakan untuk mengakses hardware secara langsung. Untuk menggunakannya file DLL ini harus diletakkan dalam direktori //windows/system atau diikutkan dalam satu folder program yang kita buat.
      Sebelum kita menggunakan fungsi-fungsi yang ada dalam file DLL ini, kita lebih dulu harus mendeklarasikan file DLL tersebut ke dalam VB. Pendeklarasiannya sebagai berikut :
            Private Declare sub Port_Out lib
                “Port_Out.dll” (ByVal nPort As Integer, ByVal nData As byte)
            Private Declare Functiion Port_In lib
                “Port_IO.dll” (ByVal nPort As Integer) As byte
      Jika file DLL tersebut telah dideklarasikan seperti diatas, maka fungsi Port_Out dan Port_In siap digunakan pada VB. Untuk mengirimkan data pada port parallel, kita menggunakan fungsi Port_Out. Sintak penggunaannya adalah sebagai berikut :
            Port_Out [Alamat_Port], [Nilai]
                        Perintah diatas membutuhkan dua parameter, yaitu Alamat_Port dan Nilai yang merupakan alamat port dan nilai data yang ingin kita kirim pada port itu. Karena tiap port hanya 8 jalur data, maka kita hanya bisa mengirim Nilai maksimum = 255 (FFh/11111111b) ke port yang kita inginkan.


Tidak ada komentar:

Posting Komentar