Прохожий
Регистрация: 06.09.2007
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
USB HID PIC18F4550 нужна помощь!
Помогите с программированием устройства HID. Устройству необходимо передавать данные. Оно их не получает, программа (тестовая от микрософт и самодельная) выдает ошибку (31 - A device attached to the system is not functioning.) при использовании функций WriteFile, WriteFileEX, HidD_SetOutputReport. При запуске проги на готовый правильный девайс все ок.
Проблема именно с девайсом.
(Использую функции работы с USB от Microchip)
Дискриптор HID:
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x09, 0x04, // USAGE (Joystick)
0xa1, 0x01, // COLLECTION (Application)
//output
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
0x35, 0x00, // PHYSICAL_MINIMUM (0)
0x46, 0xff, 0x00, // PHYSICAL_MAXIMUM (255)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x28, // REPORT_COUNT (40)
0x09, 0x02, // USAGE (Mouse)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
//input
0x05, 0x09, // USAGE_PAGE (Button)
0x19, 0x01, // USAGE_MINIMUM (Button 1)
0x29, 0x08, // USAGE_MAXIMUM (Button 8)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x08, // REPORT_COUNT (8)
0x55, 0x00, // UNIT_EXPONENT (0)
0x65, 0x00, // UNIT (None)
0x81, 0x02, // INPUT (Data,Var,Abs)
rom USB_DEV_DSC device_dsc=
{
sizeof(USB_DEV_DSC), //Size of this descriptor in bytes
DSC_DEV, // DEVICE descriptor type
0x0101, // USB Spec Release Number in BCD format
0x03, // Class Code
0x00, // Subclass code
0x00, // Protocol code
EP0_BUFF_SIZE,//Max packet size for EP0,see usbcfg.h
0x04D9, // Vendor ID
0x000a, // Product ID: 0x11
0x0301, // Device release number in BCD format
0x01, // Manufacturer string index
0x02, // Product string index
0x00, // Device serial number string index
0x01 // Number of possible configurations
};
|