помогите с V-USB
помогите с V-USB
Здраствуйте!
Помогите умной мыслю в какую сторону копать
Устройство использует библиотеку V-USB для обмена c компьютером
Программа на компе динамически использует функции из виндовой библиотеки HID.dll для работы с устройством:
На настольном компьютере с Windows 7 x64 все работет отлично,
Но почему данные не передаются если использовать НЕТБУК (Asus EEpc 1225C intel atom 270-кажется)
CreateFile срабатывает успешно
но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
сначала я подумал что из-за разрядности - (на нетбуке стоит Windows 7 32-разрядная) -
попробовать нетбук с 64 разрядной системой небыло возможности
попробовал Обычный старый компьютер с Windows XP SP3 (32 разрядная же она) - работает отлично..хм...
Потом я подумал что устройство запрашивает у порта слишком большой ток - 100ма
- уменьшал и увеличивал от 44 до 200 ма - всё равно не работает на нетбуке....хм..
потом я сравнил напряжение на +USB компьютера (5,1в) и нетбука (5,0в) неужели критично..хм..
Нетбук пробовал с подключенной зарядкой и без
Схема подключения стандартная, как у всех D-,D+ 68ом и стабилитрон 3,6в, на питании емкость 10мкф
Потом попробовал на ноутбуке (не нетбук) - всё работает (правда и там была 64 разрядная семерка)
Если бы устройство вообще не работало стоило бы выложить исходники и схему ,а так ведь отлично работает на обычном компе с Win7 x64
Вобщем, в какую сторону копнуть, чем же USB-HID нетбука отличается от обычного компа??
Или всё таки разрядность системы влияет - всего то каких то 5 функций из HId.dll использую...
Помогите умной мыслю в какую сторону копать
Устройство использует библиотеку V-USB для обмена c компьютером
Программа на компе динамически использует функции из виндовой библиотеки HID.dll для работы с устройством:
На настольном компьютере с Windows 7 x64 все работет отлично,
Но почему данные не передаются если использовать НЕТБУК (Asus EEpc 1225C intel atom 270-кажется)
CreateFile срабатывает успешно
но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
сначала я подумал что из-за разрядности - (на нетбуке стоит Windows 7 32-разрядная) -
попробовать нетбук с 64 разрядной системой небыло возможности
попробовал Обычный старый компьютер с Windows XP SP3 (32 разрядная же она) - работает отлично..хм...
Потом я подумал что устройство запрашивает у порта слишком большой ток - 100ма
- уменьшал и увеличивал от 44 до 200 ма - всё равно не работает на нетбуке....хм..
потом я сравнил напряжение на +USB компьютера (5,1в) и нетбука (5,0в) неужели критично..хм..
Нетбук пробовал с подключенной зарядкой и без
Схема подключения стандартная, как у всех D-,D+ 68ом и стабилитрон 3,6в, на питании емкость 10мкф
Потом попробовал на ноутбуке (не нетбук) - всё работает (правда и там была 64 разрядная семерка)
Если бы устройство вообще не работало стоило бы выложить исходники и схему ,а так ведь отлично работает на обычном компе с Win7 x64
Вобщем, в какую сторону копнуть, чем же USB-HID нетбука отличается от обычного компа??
Или всё таки разрядность системы влияет - всего то каких то 5 функций из HId.dll использую...
- Реклама
Re: помогите с V-USB
Какая ошибка?ESWANT писал(а):но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
Re: помогите с V-USB
HidD_SetFeature возвращает 0 - дальше не анализировал....Мурик писал(а):Какая ошибка?ESWANT писал(а):но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: помогите с V-USB
Говорят, некоторые материнские платы крайне требовательны к уровням сигнала. Может у вас на D+ и D- не 3.3 В?
Re: помогите с V-USB
Что возвращает GetLastError?ESWANT писал(а):HidD_SetFeature возвращает 0 - дальше не анализировал
- Реклама
Re: помогите с V-USB
возвращает 31, заметил что после перезагрузки нетбука первый вызов HidD_SetFeature иногда не приводит к ошибкеМурик писал(а):Что возвращает GetLastError?ESWANT писал(а):HidD_SetFeature возвращает 0 - дальше не анализировал
Re: помогите с V-USB
Ошибка расшифровывается как
Присоединенное к системе устройство не работает
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: помогите с V-USB
Возможно тему не удачно выбрал, у меня не V-USB, да и не атмел. Но в моем вопросе это не важно.
Использую функцию HidD_SetFeature. Отправляю некоторые данные. Приложение подвисает на некоторое время, а потом вываливается из HidD_SetFeature с флагом False. Код ошибки [0121 0x0079] Истек интервал ожидания семафора.
МК получает запрос Set_REPORT, получает правильные данные. Я так понимаю, МК должен что-то ответить на данный запрос, типа подтвердить удачный прием. Пробовал не отвечать или отвечать ZLP (пакет нулевой длины). Нет никакого эффекта.
------------------------
Вроде разобрался.
Думал, в очередной раз, что понял как работает USB. Никаких данных я успешно не отправлял оказывается.
Надо делать так.
-HidD_SetFeature отправила запрос Set_REPORT в МК (собственно я его видел, но дальнейшие действия МК должны быть нижеследущими.
- МК опять принимает данные (это надо включить в модуле USB)
- как только данные придут, вот тогда уже МК отвечает пустой строкой ZLP.
V-USB видимо это сам все делает. Я просто увидел что тут обсуждается HidD_SetFeature и хотел уточнить как это все работает. Ну вот, "разобрался" опять, до следующих граблей.
Извиняюсь за оффтоп.
Использую функцию HidD_SetFeature. Отправляю некоторые данные. Приложение подвисает на некоторое время, а потом вываливается из HidD_SetFeature с флагом False. Код ошибки [0121 0x0079] Истек интервал ожидания семафора.
МК получает запрос Set_REPORT, получает правильные данные. Я так понимаю, МК должен что-то ответить на данный запрос, типа подтвердить удачный прием. Пробовал не отвечать или отвечать ZLP (пакет нулевой длины). Нет никакого эффекта.
------------------------
Вроде разобрался.
Думал, в очередной раз, что понял как работает USB. Никаких данных я успешно не отправлял оказывается.
Надо делать так.
-HidD_SetFeature отправила запрос Set_REPORT в МК (собственно я его видел, но дальнейшие действия МК должны быть нижеследущими.
- МК опять принимает данные (это надо включить в модуле USB)
- как только данные придут, вот тогда уже МК отвечает пустой строкой ZLP.
V-USB видимо это сам все делает. Я просто увидел что тут обсуждается HidD_SetFeature и хотел уточнить как это все работает. Ну вот, "разобрался" опять, до следующих граблей.
Извиняюсь за оффтоп.
Re: помогите с V-USB
Собрать нечто по этому проекту. описалово pdf , ну и не работает.
Самодеятельность такова. Кварца на 20мгц не было, воткнул какойто керамический от cd привода, кондёры отудаже.
Стабилитронов на 3,6 не было, напихал диодов, теоретически должно быть 3,6в, хотя если без резюка от спектрумовского БП там 3,8 было, на одной из ног.
МК безногий, много что повидал, толком в деле не был, вот решил тут пихнуть, а может зря.
18 ногу AVCC подключил к питанию, может зря?
Пробовал на ардуине ногами дрыгать, работает, может с фьюзами где ошибся , у автора
Код: Выделить всё
CKDIV8=0
CKSEL=1110
SUT=10Не определяется он у меня как USB , да и других признаков жизни тоже, на кнопки не реагирует, хотя хз как должен.
В диспетчере устройств видится как неопознанный с ошибкой, раньше вродебы не видилось.
Прошивка авторская по мегу 48, у меня 168p.
Пробовал собирать в 4 студии, но
Код: Выделить всё
../KeyScan.c: In function 'KeyScan':
../KeyScan.c:117: error: 'JITTER_TIMER' undeclared (first use in this function)
../KeyScan.c:117: error: (Each undeclared identifier is reported only once
../KeyScan.c:117: error: for each function it appears in.)
make: *** [KeyScan.o] Error 1
Build failed with 3 errors and 0 warnings...
Кусок примерно такой
Код: Выделить всё
if(KeyScan_state[i] >= JITTER_TIMER){
if(i<=1) //bt12的led模式相关设置 放开
{
if(Setup_key12LED == Setup_key12LED_OftenOn){
PWM_setOutputLevel(i,PWM_TotalLevel);
}else if(Setup_key12LED == Setup_key12LED_OftenOff) {
PWM_setOutputLevel(i,0);
}
}
//收工
KeyScan_state[i] = 0;
KeyScan_keyChanged = 1;
keyPushTime[i] = 0;
continue;
}Стабилитроны куплю, но из кварцев только нечто с надписью D196M7 от сканера, может както можно под другую частоту прошивку перебрать, еслиб она собиралась
Re: помогите с V-USB
С исходниками разобрался, они и не должны собираться, их недописали и забросили, автор сделал новую версию на другой платформе, а тут видимо в потолок упёрся или ещё какой баг.
Скачал предыдущий комит они собираются.
Вродебы usbdrv позволяет использовать кварц на некоторые другие частоты, но чтото я не понял как, а теперь и вовсе потерял, может это в прошлых исходниках было.
Скачал предыдущий комит они собираются.
Вродебы usbdrv позволяет использовать кварц на некоторые другие частоты, но чтото я не понял как, а теперь и вовсе потерял, может это в прошлых исходниках было.
Re: помогите с V-USB
поставил резюк на сброс,кварц, стабилитроны да ещё и перебрал прошивку из старго комита, вот тогда заработало. после заметил что кондёр кварца отвалился, может так оно и лучше



