artos5

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

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

artos5    285

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

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 сказал:

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

Щас сделаю :)

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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
hd44780    189
20 минут назад, artos5 сказал:

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

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

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


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

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

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

 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    285

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

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

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


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

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

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

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 смайлов.

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

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

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

Загрузка...

  • Сообщения

    • Вообщем, в автовыключателе есть постоянный магнит. И возможность регулировки силы притяжения, что-то ок. 40 гр. на одной позиции и 80 гр. на другой. Может магнит ослаб уже. Да и не напрягает особенность эта. Уже привык коротким тычком включать. Года изготовления прибора не написано нигде, но он у меня уже более 20 лет. Сколько до этого пролежал и где неизвестно. Красные шкалы почти полностью выцвели.
    • Всем привет! ИБП я всё таки победил, сюда всё никак не попадал. В общем пришлось поменять два силовых мосфета, пропаять сгоревшую дорожку и пробитый ключ W2F (заменил на P2H), без последнего работал только от сети, а при переходе на АКБ отключался, ну и не реагировал на кнопку включения, он стоит как раз в её цепи. Пока всё это добро валялось в ожидании запчастей и времени, отвалился белый провод, кинутый сверху по плате, оказалось, что это перемычка вместо заводского брака платы, дорожка в обрыве. Достаточно было пойти по плате от припаянного конца провода и на следующем элементе, уже был обрыв, посадил на него провод и всё. Напряжение заряда АКБ 13.68v и ток 0.5А, при напряжении в 12.8 показывает, что заряд 100 процентов, это нормально???
    • Здравствуйте! Интересует, что за микросхема находится на плате реле подогрева сидений. Встречал, что это реле стоит в Форд Фокусе 3 и Каких-то Сузуки. Маркировка на ней: Здравствуйте! Интересует, что за микросхема находится на плате реле подогрева сидений. Встречал, что это реле стоит в Форд Фокусе 3 и Каких-то Сузуки. Маркировка на ней: TH31774.7 helag104WET
    • Тот, кто захочет, может запитать и от +-35 и на выход поставить одну пару и каскод со входа убрать. Нет проблем.  
    • Так они по сути и меняются. Вот к примеру банальный регулируемый (управляемый) ИБП с регулировкой выходного напряжения почти от нуля до почти 50 вольт и с развязывающим конденсатором на выходе.  А регулировка напряжения осуществляется предварительным УНЧ в такт со звуком.  Или вот в усилителях для сабового канала еще ни разу не видел, чтобы правильно была подключена ООС. Почему то ее всегда берут с выхода усилителя. А по хорошему нужно брать не с выхода, а после дросселя подключенного к выходу. И сразу ничего не меняя с какой то пары транзисторов легко можно снять киловатт звука.  Извиняюсь, NemO опередил. 
    • Такие уж мы люди. Хочется всего побольше да по жирнее и чтобы ехала быстрее всех