Visual basic6 + 18f4550 usb

ibrahim626

Üye
Katılım
3 Ağu 2008
Mesajlar
12
Puanları
1
Yaş
39
Öncelikle Herkese merhaba benim bir sorum olacak , ben suan PIC 18F4550 ile usbden led yakmaya çalışıyorum bağlantıyı sorunsuz kurdum işlemci ile haberleşebiliyorum fakat ledleri istediğim gibi yakamıyorum. programda toplamda 16 adet buton var bunlar 8 ledi yakıp söndürmek içindir, benim istediğim çalışma kosulu :
butonlardan basılı olana karsılık o ledi yakmak yani hangi buton yada butonlar basılı ise karsılık gelen ledlerı yakmak
benim programımın çalışması iste şöyle :
1. butona basıyorum portb'nin 0.ledi yanıyor
2. butona bastığımda ise port.0'daki lled sönüyor 1.led yanıyor ben bunları birbirinden nasıl kontrol edebilirim ? nasıl bi program yazmalıyım vb'de henuz biraz acemiyim.

Kod:
' vendor and product IDs
Private Const VendorID = 6017
Private Const ProductID = 2000


' read and write buffers
Private Const BufferInSize = 8
Private Const BufferOutSize = 8
Dim BufferIn(0 To BufferInSize) As Byte
Dim BufferOut(0 To BufferOutSize) As Byte
Dim sayi As Byte


Private Sub Command1_Click()
BufferOut(4) = Val(sayi + 1)
hidWriteEx VendorID, ProductID, BufferOut(0)


End Sub


Private Sub Command2_Click()
BufferOut(4) = Val(sayi + 2)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command3_Click()
BufferOut(4) = Val(sayi + 4)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command4_Click()
BufferOut(4) = Val(sayi + 8)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command5_Click()
BufferOut(4) = Val(sayi + 16)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command6_Click()
BufferOut(4) = Val(sayi + 32)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command7_Click()
BufferOut(4) = Val(sayi + 64)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command8_Click()
BufferOut(4) = Val(sayi + 128)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Command9_Click()


End Sub


' ****************************************************************
' when the form loads, connect to the HID controller - pass
' the form window handle so that you can receive notification
' events...
'*****************************************************************
Private Sub Form_Load()
   ' do not remove!
   ConnectToHID (Me.hwnd)
End Sub


'*****************************************************************
' disconnect from the HID controller...
'*****************************************************************
Private Sub Form_Unload(Cancel As Integer)
   DisconnectFromHID
End Sub


'*****************************************************************
' a HID device has been plugged in...
'*****************************************************************
Public Sub OnPlugged(ByVal pHandle As Long)
   If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
      ' ** YOUR CODE HERE **
   End If
End Sub


'*****************************************************************
' a HID device has been unplugged...
'*****************************************************************
Public Sub OnUnplugged(ByVal pHandle As Long)
   If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
      ' ** YOUR CODE HERE **
   End If
End Sub


'*****************************************************************
' controller changed notification - called
' after ALL HID devices are plugged or unplugged
'*****************************************************************
Public Sub OnChanged()
   Dim DeviceHandle As Long
   
   ' get the handle of the device we are interested in, then set
   ' its read notify flag to true - this ensures you get a read
   ' notification message when there is some data to read...
   DeviceHandle = hidGetHandle(VendorID, ProductID)
   hidSetReadNotify DeviceHandle, True
End Sub


'*****************************************************************
' on read event...
'*****************************************************************
Public Sub OnRead(ByVal pHandle As Long)
   
   ' read the data (don't forget, pass the whole array)...
   If hidRead(pHandle, BufferIn(0)) Then
      ' ** YOUR CODE HERE **
      ' first byte is the report ID, e.g. BufferIn(0)
      ' the other bytes are the data from the microcontrolller...
   End If
End Sub


'*****************************************************************
' this is how you write some data...
'*****************************************************************
Public Sub WriteSomeData()
   BufferOut(0) = 0   ' first by is always the report ID
   BufferOut(1) = 10  ' first data item, etc etc


   ' write the data (don't forget, pass the whole array)...
   hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub
 


/CODE]
 

Forum istatistikleri

Konular
128,198
Mesajlar
915,774
Kullanıcılar
449,980
Son üye
shield325

Yeni konular

Çevrimiçi üyeler

Geri
Üst