помогите с V-USB

Обсуждаем контроллеры компании Atmel.
Ответить
ESWANT
Встал на лапы
Сообщения: 98
Зарегистрирован: Пн дек 06, 2010 12:26:45

помогите с V-USB

Сообщение ESWANT »

Здраствуйте!
Помогите умной мыслю в какую сторону копать

Устройство использует библиотеку 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 использую...
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: помогите с V-USB

Сообщение Мурик »

ESWANT писал(а):но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
Какая ошибка?
Реклама
ESWANT
Встал на лапы
Сообщения: 98
Зарегистрирован: Пн дек 06, 2010 12:26:45

Re: помогите с V-USB

Сообщение ESWANT »

Мурик писал(а):
ESWANT писал(а):но при первой же передаче данных из компа (HidD_SetFeature) - ошибка
Какая ошибка?
HidD_SetFeature возвращает 0 - дальше не анализировал....
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: помогите с V-USB

Сообщение COKPOWEHEU »

Говорят, некоторые материнские платы крайне требовательны к уровням сигнала. Может у вас на D+ и D- не 3.3 В?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: помогите с V-USB

Сообщение Мурик »

ESWANT писал(а):HidD_SetFeature возвращает 0 - дальше не анализировал
Что возвращает GetLastError?
Реклама
ESWANT
Встал на лапы
Сообщения: 98
Зарегистрирован: Пн дек 06, 2010 12:26:45

Re: помогите с V-USB

Сообщение ESWANT »

Мурик писал(а):
ESWANT писал(а):HidD_SetFeature возвращает 0 - дальше не анализировал
Что возвращает GetLastError?
возвращает 31, заметил что после перезагрузки нетбука первый вызов HidD_SetFeature иногда не приводит к ошибке
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: помогите с V-USB

Сообщение Мурик »

Ошибка расшифровывается как
Присоединенное к системе устройство не работает
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: помогите с V-USB

Сообщение Z_h_e »

Возможно тему не удачно выбрал, у меня не V-USB, да и не атмел. Но в моем вопросе это не важно.

Использую функцию HidD_SetFeature. Отправляю некоторые данные. Приложение подвисает на некоторое время, а потом вываливается из HidD_SetFeature с флагом False. Код ошибки [0121 0x0079] Истек интервал ожидания семафора.
МК получает запрос Set_REPORT, получает правильные данные. Я так понимаю, МК должен что-то ответить на данный запрос, типа подтвердить удачный прием. Пробовал не отвечать или отвечать ZLP (пакет нулевой длины). Нет никакого эффекта.

------------------------
Вроде разобрался.
Думал, в очередной раз, что понял как работает USB. Никаких данных я успешно не отправлял оказывается.
Надо делать так.
-HidD_SetFeature отправила запрос Set_REPORT в МК (собственно я его видел, но дальнейшие действия МК должны быть нижеследущими.
- МК опять принимает данные (это надо включить в модуле USB)
- как только данные придут, вот тогда уже МК отвечает пустой строкой ZLP.

V-USB видимо это сам все делает. Я просто увидел что тут обсуждается HidD_SetFeature и хотел уточнить как это все работает. Ну вот, "разобрался" опять, до следующих граблей.

Извиняюсь за оффтоп.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
74LS00
Друг Кота
Сообщения: 7697
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

Re: помогите с V-USB

Сообщение 74LS00 »

Изображение
Собрать нечто по этому проекту. описалово pdf , ну и не работает.

Самодеятельность такова. Кварца на 20мгц не было, воткнул какойто керамический от cd привода, кондёры отудаже.
Стабилитронов на 3,6 не было, напихал диодов, теоретически должно быть 3,6в, хотя если без резюка от спектрумовского БП там 3,8 было, на одной из ног.
МК безногий, много что повидал, толком в деле не был, вот решил тут пихнуть, а может зря.
18 ногу AVCC подключил к питанию, может зря?

Пробовал на ардуине ногами дрыгать, работает, может с фьюзами где ошибся , у автора

Код: Выделить всё

CKDIV8=0
CKSEL=1110
SUT=10
и чтото в pdf. У меня получается ee df f9 . Калькулятор кому лень искать.

Не определяется он у меня как 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...

Параметр есть в 2 местах в одном файле, но значение не определено, я то в этом ничего не шарю. Может его ещё чемто собирали.
Кусок примерно такой

Код: Выделить всё

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;
				}
Больше JITTER_TIMER не упоминается нигде.

Стабилитроны куплю, но из кварцев только нечто с надписью D196M7 от сканера, может както можно под другую частоту прошивку перебрать, еслиб она собиралась
74LS00
Друг Кота
Сообщения: 7697
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

Re: помогите с V-USB

Сообщение 74LS00 »

С исходниками разобрался, они и не должны собираться, их недописали и забросили, автор сделал новую версию на другой платформе, а тут видимо в потолок упёрся или ещё какой баг.
Скачал предыдущий комит они собираются.
Вродебы usbdrv позволяет использовать кварц на некоторые другие частоты, но чтото я не понял как, а теперь и вовсе потерял, может это в прошлых исходниках было.
74LS00
Друг Кота
Сообщения: 7697
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

Re: помогите с V-USB

Сообщение 74LS00 »

поставил резюк на сброс,кварц, стабилитроны да ещё и перебрал прошивку из старго комита, вот тогда заработало. после заметил что кондёр кварца отвалился, может так оно и лучше
Ответить

Вернуться в «AVR»