> то означает "в связке" ? В качестве чего ?
означает, что использовать компилятор от IAR 8051.
> Побайтно сравните содержимое таблицы где прописаны данные по VID-PID
там какая-то хрень с обработкой ф-ции:
static BOOL ep0_std_descriptor_proc(void)
{
BYTE XDATA *pdesc =
(BYTE XDATA *)hid_ep0_std_desc_get();
if (pdesc) {
SUDPTRH = usb_word_msb_get(pdesc);
SUDPTRL = usb_word_lsb_get(pdesc);
return TRUE;
}
return FALSE;
}
Суть в том, что этот чип имеет некую хардварную фичу, которая упрощает энумерацию USB у-ва. Т.е. не нужно передавать а ЕР0 размер запрашиваемого USB дескриптора, а достаточно только передать в регистры SUDPTRH и SUDPTRL адрес где этот дескриптор начинается, и чип сам передаст его хосту.
Я отлаживая светодиодиком вижу, что код заходит сюда, но почему-то хост принимает "пустой" дескриптор...
Я пробовал менять реализацию макросов usb_word_{msb|lsb}_get() (типа менять big-endian/little/endian).. Но результат тот же.