|
Номер ID HID репорта, может ли быть нулевым? |
|
|
|
Dec 25 2014, 05:46
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901

|
Стал использовать впервые USB контроллер в новых STM (до этого именно в STM не использовал) и столкнулся с проблемой совместимости с предыдущем устройством, сделанным на микроконтроллере от NXP. Дело в том, что в репорте HID устройства с USB библиотекой для STM не могу выставить номер ID репорта равным 0. Если ставлю, то устройство висит в диспетчере устройств как HID, но с восклицательным знаком, то есть Винде такое описание репорта сразу не нравиться. Любой другой номер пожалуйста, главное не 0.
Старое же моё аналогичное устройство сделанное на LPC1343, как выяснилось теперь, шлёт репорт, а главное писать в него можно, репорт у которого номер равен 0. В LPC1343 это было скрыто для разработчика и я в этот вопрос при разработке не вдавался.
Из-за этого не могу сделать новое устройство на микроконтроллере STM, что бы его поддерживал старый софт на PC.
Может ли этот номер быть нулевым и почему пример от ST не даёт этого сделать?
|
|
|
|
|
 |
Ответов
|
Dec 25 2014, 06:05
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901

|
Цитата(SM @ Dec 25 2014, 08:55)  Спецификацию читали?
Report ID zero is reserved and should not be used. Нет, спецификацию не читал, оставил это последним путём, вот и хотел что бы ткнули носом на конкретную строчку, как это Вы и сделали. Но тогда остаётся вопрос - почему старое устройство на микроконтроллере LPC1343 делало именно такие репорты и Винда это съедает? И не только Винда - iOS тоже замечательно работает с этим устройством.
|
|
|
|
|
Dec 25 2014, 06:10
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901

|
Цитата(SM @ Dec 25 2014, 09:07)  Видимо (не знаю), оно туда само что-то не нулевое подставляло. Возьмите сниффер, да посмотрите, что там реально по шине шло. Так вот в том то и дело что в сниффере оттуда и идут репорты, с нулевым ID. И всё прекрасно работает. А главное, пишутся в него репорты ТОЛЬКО, если ID у них 0. С ненулевыми не пишутся!
|
|
|
|
|
Dec 25 2014, 06:36
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901

|
Цитата(toweroff @ Dec 25 2014, 09:18)  тогда сравните, что там при энумерации отдает LPC и STM. Чудес же не бывает, где-то разница будет обязательно. Восклицательный знак ведь тоже не с потолка взялся А чем можно посмотреть на стадии энумерации, не посоветуете? Просто мой снифер, которым я пользуюсь, может только уже определившиеся устройства показывать. Одно только уже для себя понял, что и пытался собственно выяснить - было сделано не правильно. Но почему работало: вопрос-загадка?
|
|
|
|
|
Dec 25 2014, 13:29
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901

|
Цитата(toweroff @ Dec 25 2014, 10:27)  я пользуюсь USBTrace 2.6 под Win7 x64 нормально работает. Там можно захватывать непосредственно порт и смотреть все, что с ним происходит Спасибо, буду пробовать! Цитата(Сергей Борщ @ Dec 25 2014, 11:33)  Насколько я помню, если устройство работает только с одиним-единственным рапортом, то можно его обявить таки образом, что ID не будет использоваться и на его месте можно передавать обычный байт посылки. Возможно именно так и было сделано в вашем первом варианте. Если оно и принимало и отправляло данные, то я так понимаю что это уже два репорта?
|
|
|
|
Сообщений в этой теме
IgorAVR2 Номер ID HID репорта Dec 25 2014, 05:46 Сергей Борщ Насколько я помню, если устройство работает только... Dec 25 2014, 08:33 IgorAVR2 Проблему, совместимости решил - по сути как и посо... Jan 5 2015, 01:03 toweroff А скопируйте сюда этот репорт, попробуем разобрать... Jan 5 2015, 05:41 IgorAVR2 Цитата(toweroff @ Jan 5 2015, 08:41) А ск... Jan 7 2015, 01:12 Сергей Борщ Цитата(IgorAVR2 @ Jan 7 2015, 03:12) Поэт... Jan 15 2015, 08:14 IgorAVR2 Цитата(Сергей Борщ @ Jan 15 2015, 11:14) ... Jan 20 2015, 06:33 IgorAVR2 Спасибо за расшифровку, буду вникать! Jan 19 2015, 16:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|