Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 160

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 154 155 156 157 158 159 < 160 > 161 162 163 164 165 .. 166 >> Следующая

19.5.1. HID Descriptor Tool
Программа HID Descriptor Tool (рис. 19.12) позволяет просто и достаточно удобно создавать и редактировать дескрипторы репортов для HID-устройств. Созданные дескрипторы можно сохранить в специальном файле с расширением hid для последующего редактирования, а также сохранить в виде фрагмента на языке ассемблера или С (листинг 19.6). Это незаменимый инструмент при разработке HID-устройств.
Іистинг 19.6Хохранение дескриптора репорта в разных форматах . - -
// Сохранение в формате заголовочного файла С // E:\#USB\INTEL\HID Descriptor Tool\MOUSE.HID.h char ReportDescriptor[50] = {
0x05, 0x01, Il USAGE_PAGE (Generic Desktop)
0x09, 0x02, Il USAGE (Mouse)
Oxal, 0x01, /I COLLECTION (Application)
0x09, 0x01, /I USAGE (Pointer)
Oxal, 0x00, /I COLLECTION (Physical)
0x05, 0x09, Il USAGE_PAGE (Button)
0x19, 0x01, Il USAGEJMINIMUM (Button 1)
0x29, 0x03, Il USAGE_MAXIMUM (Button 3)
0x15, 0x00, I/ LOGICALJMINIMUM (0)
0x25, 0x01, Il LOGICAL_MAXIMUM (1)
0x95, 0x03, Il REPORT_COUNT (3)
0x75, 0x01, I/ REPORT_SIZE (1)
0x81, 0x02, I/ INPUT (Data,Var,Abs)
0x95, 0x01, Il REPORT_COUNT (1)
0x75, 0x05, Il REPORT_SIZE (5)
0x81, 0x03, Il INPUT (Cnst,Var,Abs)
0x05, 0x01, Il USAGE_PAGE (Generic Desktop)
532
Часть V. Справочник
0x09, 0x30, // USAGE (X)
0x09, 0x31, // USAGE (Y)
0x15, 0x81, // LOGICAL MINIMUM (-127
0x25, 0x7 f, // LOGICAL_MAXIMUM (127)
0x7 5, 0x08, Il REPORT SIZE (8)
0x95, 0x02, Il REPORT_COUNT (2)
0x81, 0x06, Il INPUT (Data,Var, ReI)
ОхсО, Il END_COLLECTION
ОхсО Il END COLLECTION
};
11 Сохранение в виде данных ассемблера
db 5h, Ih ; USAGE PAGE (Generic Desktop)
db 9h, 2h ; USAGE (Mouse)
db alh, Ih ; COLLECTION (Application)
db 9h, Ih USAGE (Pointer)
db alh, Oh COLLECTION (Physical)
db 5h, 9h USAGE_PAGE (Button)
db 19h, Ih USAGE_MINIMUM (Button 1)
db 29h, 3h USAGE_MAXIMUM (Button 3)
db 15h, Oh LOGICAL_MINIMUM (0)
db 25h, Ih LOGICAL MAXIMUM (1)
db 95h, 3h REPORT_COUNT (3)
db 75h, Ih REPORT_SIZE (1)
db 81h, 2h INPUT (Data,Var,Abs)
db 95h, Ih REPORT_COUNT (1)
db 75h, 5h REPORT_SIZE (5)
db 81h, 3h INPUT (Cnst,Var,Abs)
db 5h, Ih USAGE_PAGE (Generic Desktop)
db 9h, 3Oh USAGE (X)
db 9h, 31h USAGE (Y)
db 15h, 81h LOGICAL_MINIMUM (-127)
db 25h, 7fh LOGICAL_MAXIMUM (127)
db 75h, 8h REPORT_SIZE (8)
db 95h, 2h REPORT COUNT (2)
db 81h, 6h INPUT (Data,Var,ReI)
db cOh END_COLLECTION
db cOh ; END COLLECTION
гпава 19. Инструменты
533
19.6. Средства HDD Software
Программа USB Monitor (рис. 19.13) разработана компанией HDD Software (www.hhdsoftware.com) и является, пожалуй, наиболее мощной программой мониторинга USB-пакетов. Программа имеет простой и удобный интерфейс.
^ MSB Human Interface Device - USB Monitor - ^Request View - 1.ИШ Human interface Device!
I1G На ш Vw T«* ІЬЄ VrWoW Hi*
Паї 13
000191: Bulk or ?nterrup
oe*aP.?S!?„bx!**[from trie ^evi
000192: Bulk or Interrup
Get 10x4...bytes; from the devi
Pipe Information (Handle 0м81ас71с4, Endpoint address Оиві)
Maximum packet size: 0x8 Endpoint address: 0x81 Interval: 0x8 Transfer Type; Interrupt Maximum transfer stee: 0x1000
7343750 +0.0156250
000193: BuUuuUDtflJ33IBtM 00:11:25,
Р'ф е.. H.andie..:_jOx81 a
^^ASSS^sJktU^ 00:11:2 Q^iOQ
USB Device Window
PiOt1 Handle: I0x81«c71o4 (Endpoint Address: 0x61>
Geti0x4bytesjfrom the device
000195: Bulk orjnterrupt Transfer (ЦН1.Д0.Р4.2004 00:11:2
Ріре.ДаяаІ.еіІОхбІа^
Get[0x4 bYteJfrom"Oie"dev7ce '"" "
000196: BuIXorJLnbejru^ 00:11:2
Pipo,HaD.dlejJ0jdllac7J^J^ Get jOx4_bYtes; fromthe" device
000197: ВиІ,к.ж:.Шегі^ 00:1 1:2 Pipe Handle: 1}хв1»сТ?,о4 (Endpoint Address-, Ох» Д
Getjpx4 bvte^tTom tbe device
ii_LJ.
і ф VIA Rev 5 or later USB Universal Host Controller H^USB Root Hub_
No Device Connected
Port2: No Device Connected S ф VIA Rev 5 or later USB Universal Host Controller • ffl ф USBRootHub
S ф VIA Rev S or later USB Universal Host Controller S ф VIA Rev S or later USB Universal Host Controler Standard Enhanced PCI to USB Host Controler
3
If
Рис. 19.13. Программа USB Monitor
19.7. Средства Sourceforge
Для мониторинга USB-трафика можно использовать программу SnoopyPro (рис. 19.14), разрабатываемую в рамках проектов с открытым исходным кодом. Программа доступна на сайте sourceforge.net/projects/usbsnoop.
534
Часть V. Справочник
I* Snoopypro - (ШВІ оф!)
0S8\Va.O3e№PW.2ffdS,Re*.OOOO ,
, Relative Timestamps
Sagt Oir
Endpoint
Time j Function
I Data
ЦЙ HeaTder-(length; 80) SeKjuenceNumber; І
Function. 000b (GET_DESCSIPT0R_FR0M_DEV1CE)
S 1 in up 0.000 C0NTR0LTRANSFER ;7120l T001 teal 0020^ 0«СХ)йЧ0000
2 in down О 000 GET.DESCR.'FTOR.FROM.DEViCE
S 2 in up l ..пУал.» 0.015 CONTROLTRANSFER 09 0212 00 OT 01 0060 ;ОЛСЮ0рШ
б - 3 in down •. n/a ' 0015 GET.OESCRIPrOR.FROM.DEVICE
ffl . 3 in up • n/a 0.015 CONTR0LTRANSFER :09Ш12О00Ї0Ї00в0; .,ШОДЮОИЮ
'¦' •^a ' '7 '1015SEtIcTJDONFIGURATION "
S 4 ???up n/a 00)5 SEtECT CONFIGURATION ОяОООООООО
TJRB Header (length:,40) І :,,.? ' SequenceNuinber,: 4:;
Предыдущая << 1 .. 154 155 156 157 158 159 < 160 > 161 162 163 164 165 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100