artos5

Принять символы с клавиатуры USB HOST HID STM32f105

34 сообщения в этой теме

artos5    286

Вот полный вывод переменных :

System start... 

Program start OK! 

USB Device Attached
PID: c18h
VID: 2a7ah
Address (#1) assigned.
Manufacturer : N/A
Product : U
Serial Number : N/A
Enumeration done.
This device has only 1 configuration.
Default configuration set.
Switching to Interface (#0)
Class    : 3h
SubClass : 1h
Protocol : 1h
KeyBoard device found!
HID class started.
Test nBytes, buf = 8 , 40
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
Test fifo = 0 == 8
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0
else ==   Test i = 0 , f->lock = 1 , f->tail = 0, f->head = 0

Не пойму какого хрена ноли ... :)

2 минуты назад, hd44780 сказал:

а выпихните плиз в уарт, что он пихает в очередь

Щас сделаю :)

Проверил . Ничего оно туда не пихает , так как в ту ветку не попадает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hd44780    189
20 минут назад, artos5 сказал:

Проверил . Ничего оно туда не пихает , так как в ту ветку не попадает :)

А Вы клавиши нажимали на клавиатуре? Туда должны скан-коды прийти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    286

Да , нажимал - нихрена ..

не попадает сюда:

 case HID_GET_DATA:

    USBH_InterruptReceiveData(phost, 
                              HID_Handle->pData,
                              HID_Handle->length,
                              HID_Handle->InPipe);
    
    HID_Handle->state = HID_POLL;
    HID_Handle->timer = phost->Timer;
    HID_Handle->DataReady = 0;
	
	if(timer2>600000)timer2=0;
	      if(timer2<9){USBH_UsrLog("1t  HID_Handle->pData = %d , HID_Handle->length = %d", (int)  HID_Handle->timer, HID_Handle->state);}
	      timer2++;
	
	
    break;
    
  case HID_POLL:
		
		if(timer2>600000)timer2=0;
	      if(timer2<9){USBH_UsrLog("2t  HID_Handle->pData = %d , HID_Handle->length = %d", (int)  HID_Handle->pData, HID_Handle->length);}
	      timer2++;
  
    if(USBH_LL_GetURBState(phost , HID_Handle->InPipe) == USBH_URB_DONE)
    {
      if(HID_Handle->DataReady == 0)
      {
        fifo_write(&HID_Handle->fifo, HID_Handle->pData, HID_Handle->length);
				
			
				
        HID_Handle->DataReady = 1;
        USBH_HID_EventCallback(phost);
#if (USBH_USE_OS == 1)
    osMessagePut ( phost->os_event, USBH_URB_EVENT, 0);
#endif          
      }
    }
    else if(USBH_LL_GetURBState(phost , HID_Handle->InPipe) == USBH_URB_STALL) /* IN Endpoint Stalled */
    {
      
      /* Issue Clear Feature on interrupt IN endpoint */ 
      if(USBH_ClrFeature(phost,
                         HID_Handle->ep_addr) == USBH_OK)
      {
        /* Change state to issue next IN token */
        HID_Handle->state = HID_GET_DATA;
      }
    } 
    

    break;
    
  default:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    286

С нетерпением жду новостей :)

Я пока тоже чехлю этот проект, но уже честно голова не соображает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    286

Для чистоты эксперимента:

Подключил радио мышу:

USB Device Attached
PID: 2001h
VID: 24aeh
Address (#1) assigned.
Manufacturer : RAPOO
Product : RAPOO 5G Wireless Device
Serial Number : N/A
Enumeration done.
This device has only 1 configuration.
Default configuration set.
Switching to Interface (#0)
Class    : 3h
SubClass : 1h
Protocol : 1h
KeyBoard device found!
HID class started.

Подключил флешку:

USB Device Attached
PID: 4100h
VID: 13feh
Address (#1) assigned.
Manufacturer : UFD 2.0
Product : Silicon-Power16G
Serial Number : 12031552015E60023DD81B18BCD
Enumeration done.
This device has only 1 configuration.
Default configuration set.
No registered class for this device.

Подключил USB беспроводной комплект клава+мыша:

USB Device Attached
PID: c52eh
VID: 46dh
Address (#1) assigned.
Manufacturer : Logitech
Product : USB Receiver
Serial Number : N/A
Enumeration done.
This device has only 1 configuration.
Default configuration set.
Switching to Interface (#0)
Class    : 3h
SubClass : 1h
Protocol : 1h
KeyBoard device found!
HID class started.

Подключил USB WLAN:

USB Device Attached
PID: 8179h
VID: bdah
Address (#1) assigned.
Manufacturer : Realtek
Product : 802.11n NIC
Serial Number : 00E04C0001
Enumeration done.
This device has only 1 configuration.
Default configuration set.
No registered class for this device.

 

Короче - победа!!! Проблема в клаве . Почему то простая клава не работает , а другая клава (радиоклава + радио мыша) -  работает !!! Странно чего простая клавиатура не работает.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hd44780    189

Поздравляю.

У STM, видать, упрощённая реализация драйверов ... У меня руки уже давно никак не дойдут пошаманить там :(

Изменено пользователем hd44780

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Провёл эксперимент. Прогрел бытовым феном в течении минуты, включил и засёк время. Вырубился через две минуты. Включил снова, вырубился через минуту. Включил обдув вентилятором, подождал минуту и включил снова. Вентилятор работает, засекаю через сколько вырубиться...
    • 1 час назад, radio.elektronik сказал:
      <..Планк - это негативный персонаж в физике..открытие "квантов", то есть фэйк..>

      ..Дураком ты быть не можешь.Ты идиот, гоп-гоп-- *на завод*.,пакостник.!..
    • Опаснейший вопрос. Могут наваять по самое не балуй
    • Я не программер и в этом рублю поверхностно. Кумекаю так. Рес прошивается через флешку. Прошивка весит 4мб, расширение abs а дамп с расширением bin. Значит в прошивке есть прога установщик которая прошивает микруху дампом bin. При прошивке прошивальщик тестирует память двумя тестами т.к создаёт на флешке две папки test1, test2. Если память битая то прошивки либо не будет либо битые ячейки прошивальщик отбрасывает. Если я ошибаюсь и прошивальщик не видит битые ячейки то в работе рес может глючить либо вообще не работать. Если в битую ячейку записывается bin вкл/откл автоотключения то всё логично. Проц опрашивает тайминг, его нет, у проца хаотичный заворот мозгов и вот результат. Возможно я не прав но это единственное, что приходит на ум.
    • И что интересно  майн на ввк 240 http://monitor.espec.ws/section1/post2264965.html#2264965  такой же как у колора, разница 1502-1501  http://monitor.espec.ws/section1/post2313257.html#2313257  (у родной ввк240 шасси в обзоре монитор эспека не обозначено и оно другое)  Подозреваю, что мой ввк китайский конструктор "сделай сам" ...  перепрошитая под ввк начинку от колора... Если это железо прошить прошивкой от колора то возможных варианта два А-кирпич, Б- потребуется пульт от колора. Кстати, D-Color cd1401hd три варианта, у второго main-T2_M3821P_DVT2006_V1 & T2_POWER_DVT2005_V2 хотя срu и flash те же  http://monitor.espec.ws/section1/post2102398.html#2102398 у  третего варианта колор майн борд как у первого варианта ввк240 http://monitor.net.ru/forum/topic551693-32.html 
    • Слово   "база" здесь неуместно. Хотя, я знаю что кто-то создал такую идиотскую теорию. Скажем просто: Rd. У термопары тоже есть R. Умные всё поняли. А дураки в панике. Вы хозяин песни? Макс Планк - это негативный персонаж в физике. Хотя он и говорил, что его формула левая, то есть в какой-то мере был честен... Но результатом стало открытие "квантов", то есть фэйк.