benim anlattıklarım sistemin çalışma prensibi bu işin temeli budur bundan farklı bir yolu yoktur. Yukarıda yazmayı unutmuşum, aldığınz cihaz api desteği veriyorsa zaten o kullanılarak basit bir şekilde yapılabilir ancak eski bir cihaz ise dediğim şekilde uğraşarak yapılabilir. Veri okuma işlemini de söyledim usb,seri port ya da paralel porttan gelen verileri kolaylıkla port readerlar ile okuyabilirsiniz buradaki okumanın amacı ilk başta bahsettiğim şekilde api kullanmadan yapılacak ise izllenecek yoldur.
usb lerin çalışması sistemi seri-paralel porta göre çok daha farlıdır. Öncelikle bir aygıta erişmek için programınızla ve cihaz arasında handshake olması şarttır. Cihaz ve programın handshake i için 3 tane seri numara gereklidir ama bunun 2 si zorunludur. Bunlar vendor ve product ID dir. bu iki id olmadan programa veri göndermek imkansızdır. Eğer cihazın sdk sı var ise zaten bunlar gömülüdür ve onun aracılığı ile yollanabilir, değilse o zaman cihazdaki bu idleri bulup ona göre iletişim sağlamalısınız aksi halde veri gönderme işlemini yapamazsınız. Yani olay sadece bilgisayarın usb portuyla bitmez, önemli olan cihazla handshake yaptırmaktır.
http://www.lvr.com/winusb_article.htm
buraya bi göz atabilirsiniz.
Ben olayın biraz daha teknik boyutunu anlatıyorum, yüzeysel olarak hazır sistem apilerini kullanırsanız onlar sizin yerinize bu işi yapıyor. Cihazın ne olduğu konusunda fikrim yok ama en temel şekilde çalışması dediğim şekildedir eğer usb destekliyse. Win api leriyle direk veri yollamazsınız, usb portunu neye göre seçeceksiniz, buradaki prensipler seri-paralel port gibi belli referans adreslerine sahip değildir. (&h378 gibi) usb de port seçiminden ziyade vID ve pID(vendor id,product id) ye göre işlem yapılır. Ancak cihazın kendi apisi varsa bu idler bunun içine gömülüdür. İşin teknik tedayı bu
iyi çalışmalar