MikroC ile USB Programlama -2
14 Kasım 2013 by elektrokod
Bu bölümde USB tanıtım dosyasının (USBdsc.c) oluşturulması ve similasyonun HID terminal vasıtasıyla nasıl yapılacağını göreceğiz.
USB Programlamanın iki tarafı vardır. Birinci taraf PIC, diğer taraf PC’dir. PIC programında USB birimini PC’ye tanıtıcı bilgiler içermelidir. Yani PC, USB birimini tanımalıdır. USB’yi tanıtma işi PIC programlama sırasında yapılır. Bunun için mikroc’nin “HID Terminal” aracı kullanılır. HID Terminal aracına Tools menüsünden erişilir. Ekran görüntüsü aşağıdaki gibidir.
Görüldüğü gibi program iki sekmeden oluşmaktadır. Biz şimdilik ikinci sekmeyi kullanacağız. VID (Vendor ID –Üretici Adı) ve PID( Product ID – Ürün Adı) iki byte’lık cihazın tanıtım bilgileridir. Örnekte hex olarak 1234 girilmiştir. Decimal olarak 4660 eder. Dikkat edilmesi gereken husus bu ekranda girilen bu iki bilginin hex sayı olduğudur. Bu bilgiler USB birimini bilgisayara tanıtmak için gerekli ve önemli bilgilerdir. Report Lenght (Raporlama uzunluğu) ise PC’den PIC’e (Input), PIC’ten PC’ye (Output) bir defada gönderilecek veri dizisinin uzunluğudur. Yani dizi eleman sayısıdır. Bus power ile USB birime güç veleceği ve max akım değerinin 50x2mA=100mA olacağı belirtilmiş. Endpoints pooling int. Seçeneği ile veri paketi alındıktan veya verildikten sonra 1msaniye bekleme yapmasını söylemiş olduk. Vendor Name ve Product Name kısımlarına windows’ta USB olarak hangi isimle tanıtılacağını belirtiyoruz. İstediğiniz ismi verebilirsiniz. Daha sonra” Save descriptor “ butonunu tıkladığımızda dosyanın adını “USBdsc.c” ve saklama yeriniproje dizini olarak kaydediyoruz. Dosya adı olarak “USBdsc.c” ismini varsayılan olarak vermektedir. İsmi değiştirebilirsiniz. Ama uzantısı .c olmalıdır. Bu dosya daha sonra PIC programında kullanılacağı için proje dosyasına ekleyeceğiz. Programın üst kısmına tanıtımların yapıldığı kısma #include < USBdsc.c > şeklinde ekliyoruz. Derlemede problem çıkarsa dosyanın yolunu da yazıyoruz.
Dosyayı eklemenin diğer bir yolu da Project managerden eklemektir. Bu şekilde eklenirse dosyaya bir şey yazmaya gerek kalmaz.
Bunun için “Project” menüsünden “Add File To Project” seçilir, pencereden eklenecek tanıtım dosyası tıklanarak projeye eklenmiş olur.
Eğer projeye dosyayı bu metodla eklemiş isek programdan #include ile başlayan satırı silmeliyiz.
Projeyi hatasız derledikten sonra artık similasyona geçebiliriz. ISIS’ı açıp oluşturduğumuz dosyayı açıyoruz. Mikroc programımız açık, bilgisayarımızın sesi de açık olmalı. Similasyonu çalıştırdığımızda bilgisayar yeni donanım bulundu sesli ikazını verecek ve sürücüleri yükleyecektir. windows aygıt yöneticisinden “İnsan Arabirim Aygıtları” açıldığında buradan da görülebilir.
MikroC Tools menüsünden HID Terminali açalım. Terminal sekmesinde bilgisayarımızda bulunan USB cihazların listesini görebilirsiniz. Eğer bu listede bizim adımız da geçiyorsa (“Product ID” kısmına verdiğimiz isim) artık usb iletişim similasyonu hazır demektir.
Bizim verdiğim USB HID Deneme isminin üzerine gelip, info butonuna tıkladığımızda bizim girmiş olduğumuz tanıtıcı bilgiler ekrana gelecektir. İnfo penceresini kapatıp artık veri iletişimine geçelim.
Şekildeki gibi USB HID Deneme cihazı üzeinde iken “1” gönderdiğimizde PIC bize cevap olarak bizim gönderdiklerimiz bilgileri bize tekrar gönderdi ve LED yandı. Aynı şekilde “0” gönderdiğimizde LED sönecektir.
Bu yazı PIC Mikrodenetleyici içinde yayınlandı ve elektronik, Hid terminal, Mikroc, MikroC Pro, mikrodenetleyici, mikrokontroler, PIC18F4550, Proteus, USB, USB HID, USB Kontrol olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.
← MikroC ile USB Programlama -1
Buton Kontrolü →
4 thoughts on “MikroC ile USB Programlama -2”
Kaan dedi ki:	 13 Şubat 2014, 16:30
PIC18F4550 USB uygulamasını deneme kartımla birlikte breadbord üzerine kurdum hocam ama usb kabloyu laptop’a taktığımda “USB Aygıtı Tanınmadı” hatası veriyor nedeni ne olabilir. laptop > 64 bit
Kaç gündür uğraşıyorum hocam sorunu çözemedim yardımcı olursanız sevinirim..
elektrokod dedi ki:	 14 Şubat 2014, 13:39
benim test ettiğim bilgisayar da 64 bit. siz usbdsc.c dosyasını eklemiş iseniz bilgisayarda görürsünüz. proteusta gördüğünüze göre eklenmiş görünüyor. usbhid terminalde cihazı görebiliyorsanız problem yoktur. ancak görünmüyorsa config. ile ilgili bir sıkıntı olabilir.
Kaan dedi ki:	 13 Şubat 2014, 16:32
Proteus da sıkıntı yok c# arayüzle birlikte düzgün bir şekilde çalışmakta.
elektrokod dedi ki:	 14 Şubat 2014, 13:41
c# ile çalışıyorsa bilgisayar görüyor demektir. USB Hid terminalde o cihazın üzerinde iken veri gönderip alabilirsiniz.