Pic Ve USB - Sorun var Lütfen Yardım

Başlatan DannyZ, 19 Kasım 2007, 22:34:06

muhittin_kaplan

Merhabalar SirHawk
PBP sanırım Dil Yanlız Göremediğim Bir Tanımlama Var Oda Description File Yani Bu USB cihaz Kendini Ne olarak Tanımlıyor Kendisini (Protonda Öyle Yapıyoruz Sanırım CCS dede aynı. Bu  Dosya İçeriğinde USB cihazın END point tanmlamaları cihaz künyeleri felan mevcut)

sir_hawk

Hocam end poind zaten default değer olarak 1,
Easyhid ile oluşturulan hazır pbp ve vb ( veya delphi veya c ) kodlarına kendi kodlarımızı ekleyip yapıyoruz. Easyhid ile oluşturduğumuz için sizinde bildiğiniz üzere tak ve kullan şeklinde çalışıyor.  Tüm yapmanız gereken sadece 1 defada kac bytelık bilgi alışverişi yapmak istediğiniz (en fazla 64 byte olmak kaydıyla ). Tabi max. seviye byte kullanılırsa,benim yazdığım döngüde ;

DOSUBIN:
Y=0
USBBufferCount = USBBufferSizeRX
   USBService                       
   USBIn 1, USBBuffer,USBBUFFERCOUNT, EEYAZ   

EEYAZ:
IF USBBUFFER[0]!=0 THEN     
FOR X=0 TO USBBUFFERCOUNT
WRITE Y,USBBUFFER[X]
PAUSE 1
Y=Y+1
NEXT X
CLEAR
ELSE
GOTO DOUSBIN
ENDIF
RETURN


yaparsak eeproma max. seviyesine kadar bilgi kaydedebiliriz. Tabi harici eepromda kullanılabilir.Ancak vb tarafında ise ;

BufferOut(0) = 0  
   BufferOut(1) = LED(8) 
   BufferOut(2) = LED(0)
   BufferOut(3) = LED(1)
   BufferOut(4) = LED(2)
   BufferOut(5) = LED(3)
   BufferOut(6) = LED(4)
   BufferOut(7) = LED(5)
   BufferOut(8) = LED(6)
   BufferOut(9) = LED(7)
.
.
.
.
.
.
   BufferOut(63) = LED(63)
   hidWriteEx VendorID, ProductID, BufferOut(0)


   BufferOut(0) = 0
   BufferOut(1) = LED(64)
   BufferOut(2) = LED(65)
   BufferOut(3) = LED(66)
   BufferOut(4) = LED(67)
   BufferOut(5) = LED(68)
   BufferOut(6) = LED(69)
   BufferOut(7) = LED(70)
   BufferOut(8) = LED(71)
   BufferOut(9) = LED(72)
.
.
.
.
.
.
.
   BufferOut(63) = LED(127)
   hidWriteEx VendorID, ProductID, BufferOut(0)


yapmak lazım.


Projenizi easyhid da hangi isimle oluşturursanız,pc ye ilk taktığınızda o isimle asağıda taskbar da görünecektir. Diğer tanımlamalarla ( desc. ) uğraşmıyorsunuz. C de var olan bir defada kaç adet veri gönderme durumu gibi konularla ilgilenmenize gerek yok. Kendi devremde 56 byte veriyi herdefasında sorunsuzca gönderip eeproma yazdım. Sizde deneyebilirsiniz ama proton bilmiyorum hiç o yüzden umarım sorduklarınıza yeterli cevabı verebilmişimdir.

muhittin_kaplan

Neredeyse Aynı
yanlız Protonda birde Description File Eklemesi Yapıyor
include "MyDescription.inc"

gibi ekleme yapıyor. bu Css de böyle. Du Dosyanın içerisinde Kaçtana EP olacağı Yönleri Cihaz Adı Vendor Vs Tanımlı Ama PBP de Yok sanırım.
EasyHid PBP,Proton Vs SF de Farklı Çalışıyor Hernekadar Aynı gibi Görünsede..

sir_hawk

Evet böyle bir ekleme yapmıyoruz. Ben böyle bir inc. kullanmadım hatta araştırdığım tüm örneklerde de görmedim ( pbp için ). Gönderilecek byte miktarını,easyhid da proje oluştururken giriyoruz hepsi o kadar. benim şuan proje klasöründe 13 adet dosya var ( hex. file vs. dahil ).


muhittin_kaplan

USBDESC.ASM sanırım sizin için o dosyadadır