artos5

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

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

artos5    283

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

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    283

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

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

 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:

 

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


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

ясно. Пошёл я расчехлять свою пушку .... :D

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


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

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

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

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


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

спасибо дружище ;)

Одна надежда на тебя ..

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


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

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

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

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

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

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

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

Загрузка...

  • Сообщения

    • Вот не утрируючи обьясни мне дураку, зачем снижать частоту в рабочем аппарате??
    • Автор, внутри шагового двигателя соединены средние точки обмоток. В связи с этим, Вам не удалось подключить обмотки последовательно. Нужно разобрать двигатель и распаять средние точки. Я сейчас спаял последовательное соединение и раскрутил пальцами вал до 24в без нагрузки. Так же необходимо реализовать редуктор, ибо это мастурбация. При определённых оборотах шаговика, мощность начинает расти в разы.
    • DesAlex не доволен, когда технический раздел форума пытаются использовать как рекламу для своего товара. Весь подобный материал поудаляю (и это уже не первый раз в случае с Вами), в следующий раз - забаню за злостное нарушение Правил форума. Нужна реклама - это к админу (за денежку на развитие форума); продать - только в разделе "Куплю-Продам", в технической теме не должно быть ни малейшего намёка на занятие коммерцией.
       
    • Ради прикола отснял еще одно демонстрационное видео:     Статья в процессе. Но как скоро выйдет, не могу сориентировать, поскольку работа, семья, маленькие дети... Поэтому, кому очень приспичило, могу помочь в пределах данного форума. Первая статья про ЭТ уже готова. Ссылку давал чуть выше. От нее уже можно отталкиваться.
    • 3 линии по 5-6 таких диодов, больше драйвер не потянет. В каждую линию токовыравнивающий резистор 1-1,5 Ом 1,5-2 Вт.
    • Всем привет подскажите пожалуйста. Есть модуль А6. У него есть пин RST. В даташите написано, что для сброса надо применять низкий уровень, но при этом ток через все это дело пойдёт до 70ма и у модема возникнут трудности с поиском сети. Там же сказано, что рекомендовано использовать nMOSFET. Так вот я правильно понял, что надо просто тянуть эту ногу к земле через мосфет н типа, никаких там обвесов не надо? Есть схемка как правильно притянуть ногу к земле через мосфет? И как правильно подобрать транзистор? Питание модуля 5в , управление 3,3в
    • всем привет. И так по-порядку без лишних слов. схема управляет двигателем в игрушечной машинке спаял самодельный H-bridge на KT816В + КТ817Г + управляющие 2n3904 схему взял тут: http://www.laurentkneip.de/H_bridges.html Оригинальня схема: Схема чуть модифицированная мною: На схеме:
      - замены по сравнению с оригиналом подчеркнул: желтым
      - номера ножек транзисторов: голубым
      - заменил R1 и R3 с 10К на 200 Ом. Как по мне 10К это перебор
      - добавил диодов на каждый транзюк: в инете видел много схем где диоды стоят У меня есть еще 1 машинка. Я её схему перепаивал, так как там стояли очень слабые транзюки и 1 из них был сгоревшим, но там диодов и резюков НЕТ вообще - и она работает. По сути там копия оригинальной схемы (фото №1) ПРОБЛЕМА: текущая самопайка при подаче сигнала на X2-1 или X2-2 - двигатель крутит или по часовой или против часовой. вроде бы всё ОК. Но не особо сильно. Как будто в пол силы. НО! когда на обеих контактах 0 - то он сам еле еле крутится в одну сторону. На X1-1 при этом 0.49V, а на X1-2 около 1.42V. Тут то я и понял, что что-то явно не то. Я так понимаю транзюки каким-то образом приоткрыты? - честно говоря я очень силен в схемотехнике , Программист, но люблю и паять. По-этому пишу с просьбой помочь. Пробовал оба X2-1 и X2-2 тупо на землю посадить без Arduino - эффект тот же. Ну и если рукой взять за вал моторчика - то слышно, как он туда сюда как бы дергается с оооочень большой скоростью. Но так как напруга на одном из контактов больше - он всё же еле-еле крутится по часовой. Может я неправильно добавил диоды в схему? или резисторы R2 и R4 поставить около 2К-4К Ом? Неправильно номера ножек транзюков определил? Вместо 2n3904 есть еще С945 если, что. Могу замерять напряжения в любых точках где скажете.