Denemek istediğim bir PIC32 USB projesi için C'de bir USB HID tanımlayıcısı oluşturma konusunda kendimi biraz eğitmeye çalışıyorum.
HID Kullanım Tabloları belgesini http://www.usb.org/developers/hidpage/ adresinden indirdim ve HID tanımlayıcıdaki farklı öğeler için gerçek değerlerin nerede belirtildiğini anlamaya çalışıyorum.
Baktığım örnekten bir alıntıyla açıklayayım:
ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={{
0x05,0x01, // USAGE_PAGE (Generic Desktop)
0x09,0x05, // USAGE (Game Pad)
0xA1,0x01, // COLLECTION (Application)
0x15,0x00, // LOGICAL_MINIMUM(0)
0x25,0x01, // LOGICAL_MAXIMUM(1)
0x35,0x00, // PHYSICAL_MINIMUM(0)
0x45,0x01, // PHYSICAL_MAXIMUM(1)
// ...
Yukarıdaki örnekte, BYTE dizisinin anahtar / değer çiftlerinden oluştuğu açıktır, eğer bunu çağırabilirsem. Örneğin, 2. satır: 0x05,0x01 , Kullanım Sayfası olan 0x05 anahtarını gösterir ve 0x01, Genel Masaüstü'nü gösteren değerdir
HID Kullanım Tablosu PDF belgesinde bu değerlerin nerede olduğunu anlamaya çalışıyorum. Örneğin, hiçbir referans bulamıyorum
USAGE_PAGE == 0x05
ve örneğin
COLLECTION == 0xA1
PDF'yi 0xA1 için aramayı denedim, sonuç yok. Değerlerin ne olduğunu öğrenebilmemin tek yolu ya örneğin yorumlarına bakmak ya da yukarıdaki bağlantıdan USB Tanımlayıcı Aracını kullanmaktır .
Sadece merak ediyorum, bu anahtar / değer referans dokümanlarını kaçırdığım için tamamen şaşkın mıyım?
Çevrimiçi aşağıdaki gibi birçok örnek vardır: http://www.frank-zhao.com/cache/hid_tutorial_1.php
Ancak bu bile END_COLLECTION == 0xc0 gibi bir dizi dize değerine gönderme yapıyor
Bu değerler için referansı nerede bulabilirim? Neyi kaçırıyorum?