Цитата(shrek @ Feb 24 2009, 12:59)

теперь вопрос в другом... что должен содержать в себе дескриптор устройства?)
Ниже выглядит правильно. Если с выравниеванием все в порядке, то вроде нормально.
Цитата
и еще я ему пытаюсь отослать дескриптор устройства 2 байта отослать удается
дальше хост сбрасывает шину и все снова...
Как два байта? Отсылать нужно по размеру конечной точки, или сколько есть если есть меньше чем размер конечной точки.
например есть дескриптор устройства 18 байт длиной. Тогда отсылается он в три приема: 8 + 8 + 2.
Как в AT91SAM7A3 я не знаю, а в SAM7S, если нужно отослать данные длиной, кратной размеру конечной точки, то после отрпавления последней порции и получения подтверждения нужно послать еще ноль байт.
Цитата
в общем я хосту пытаюсь отправить дескриптор устройства
Код
static const struct USB_DEVICE_DESCRIPTOR
{
unsigned char bLenth; //0x12
unsigned char bDescriptorType; //0x01
unsigned short int bcdUSBL; //0x0200
unsigned char bDeviceClass; //0x00
unsigned char bDeviceSubclass; //0x00
unsigned char bDeviceProtocol; //0x00
unsigned char bMaxPacketSize0; //0x08
unsigned short int idVendor; //0x03EB
unsigned short int idProduct; //0x6200
unsigned short int bcdDevice; //0x0100
unsigned char iManufacture; //0x00
unsigned char iProduct; //0x00
unsigned char iSerialNumber; //0x00
unsigned char bNumConfigurations; //0x01
после того как девайс отправит 2ые 8 байт, то есть последнее что передает это bcdDevice, следует сброс шины и все начинается заново.
первые 8 байт девайс без проблем передает, далее следует подтверждение приема я передаю следующие 8 байт, далее следует сброс шины и все снова...???
Что-то математика не сходится. "после того как девайс отправит 2ые 8 байт, то есть последнее что передает это bcdDevice". 2 * 8 = 16, т.е. последним будет iProduct.
У Вас с выравниванием структуры все в порядке? Она должна быть упакованной.
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.