реклама на сайте
подробности

 
 
> Номер ID HID репорта, может ли быть нулевым?
IgorAVR2
сообщение Dec 25 2014, 05:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Стал использовать впервые USB контроллер в новых STM (до этого именно в STM не использовал) и столкнулся с проблемой совместимости с предыдущем устройством, сделанным на микроконтроллере от NXP. Дело в том, что в репорте HID устройства с USB библиотекой для STM не могу выставить номер ID репорта равным 0. Если ставлю, то устройство висит в диспетчере устройств как HID, но с восклицательным знаком, то есть Винде такое описание репорта сразу не нравиться. Любой другой номер пожалуйста, главное не 0.

Старое же моё аналогичное устройство сделанное на LPC1343, как выяснилось теперь, шлёт репорт, а главное писать в него можно, репорт у которого номер равен 0. В LPC1343 это было скрыто для разработчика и я в этот вопрос при разработке не вдавался.

Из-за этого не могу сделать новое устройство на микроконтроллере STM, что бы его поддерживал старый софт на PC.

Может ли этот номер быть нулевым и почему пример от ST не даёт этого сделать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Dec 25 2014, 05:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(IgorAVR2 @ Dec 25 2014, 08:46) *
Может ли этот номер быть нулевым и почему пример от ST не даёт этого сделать?


Спецификацию читали?

Report ID zero is reserved and should not be used.
Go to the top of the page
 
+Quote Post
IgorAVR2
сообщение Dec 25 2014, 06:05
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Цитата(SM @ Dec 25 2014, 08:55) *
Спецификацию читали?

Report ID zero is reserved and should not be used.


Нет, спецификацию не читал, оставил это последним путём, вот и хотел что бы ткнули носом на конкретную строчку, как это Вы и сделали.

Но тогда остаётся вопрос - почему старое устройство на микроконтроллере LPC1343 делало именно такие репорты и Винда это съедает? И не только Винда - iOS тоже замечательно работает с этим устройством.
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 25 2014, 06:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(IgorAVR2 @ Dec 25 2014, 09:05) *
Но тогда остаётся вопрос - почему старое устройство на микроконтроллере LPC1343 делало именно такие репорты и Винда это съедает?

Видимо (не знаю), оно туда само что-то не нулевое подставляло. Возьмите сниффер, да посмотрите, что там реально по шине шло.
Go to the top of the page
 
+Quote Post
IgorAVR2
сообщение Dec 25 2014, 06:10
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Цитата(SM @ Dec 25 2014, 09:07) *
Видимо (не знаю), оно туда само что-то не нулевое подставляло. Возьмите сниффер, да посмотрите, что там реально по шине шло.

Так вот в том то и дело что в сниффере оттуда и идут репорты, с нулевым ID. И всё прекрасно работает. А главное, пишутся в него репорты ТОЛЬКО, если ID у них 0. С ненулевыми не пишутся!
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 25 2014, 06:18
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(IgorAVR2 @ Dec 25 2014, 09:10) *
Так вот в том то и дело что в сниффере оттуда и идут репорты, с нулевым ID. И всё прекрасно работает. А главное, пишутся в него репорты ТОЛЬКО, если ID у них 0. С ненулевыми не пишутся!

тогда сравните, что там при энумерации отдает LPC и STM. Чудес же не бывает, где-то разница будет обязательно. Восклицательный знак ведь тоже не с потолка взялся
Go to the top of the page
 
+Quote Post
IgorAVR2
сообщение Dec 25 2014, 06:36
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Цитата(toweroff @ Dec 25 2014, 09:18) *
тогда сравните, что там при энумерации отдает LPC и STM. Чудес же не бывает, где-то разница будет обязательно. Восклицательный знак ведь тоже не с потолка взялся


А чем можно посмотреть на стадии энумерации, не посоветуете? Просто мой снифер, которым я пользуюсь, может только уже определившиеся устройства показывать.

Одно только уже для себя понял, что и пытался собственно выяснить - было сделано не правильно. Но почему работало: вопрос-загадка?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 25 2014, 07:27
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(IgorAVR2 @ Dec 25 2014, 09:36) *
А чем можно посмотреть на стадии энумерации, не посоветуете?

я пользуюсь USBTrace 2.6
под Win7 x64 нормально работает. Там можно захватывать непосредственно порт и смотреть все, что с ним происходит
Go to the top of the page
 
+Quote Post
IgorAVR2
сообщение Dec 25 2014, 13:29
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Цитата(toweroff @ Dec 25 2014, 10:27) *
я пользуюсь USBTrace 2.6
под Win7 x64 нормально работает. Там можно захватывать непосредственно порт и смотреть все, что с ним происходит

Спасибо, буду пробовать!


Цитата(Сергей Борщ @ Dec 25 2014, 11:33) *
Насколько я помню, если устройство работает только с одиним-единственным рапортом, то можно его обявить таки образом, что ID не будет использоваться и на его месте можно передавать обычный байт посылки. Возможно именно так и было сделано в вашем первом варианте.


Если оно и принимало и отправляло данные, то я так понимаю что это уже два репорта?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 08:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01468 секунд с 7
ELECTRONIX ©2004-2016