Перейти к содержанию

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


artos5

Рекомендуемые сообщения

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

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

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

Щас сделаю :)

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

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20 минут назад, artos5 сказал:

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

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

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

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

 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:

 

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

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

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

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.

 

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

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

Поздравляю.

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

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @korsaj Так сейчас вчитывался ещё раз и ничего как то на ум так и не идёт. Сложновато получается. Данную функцию да тем более с массивами на сравнение я точно не осилю.
    • Собрал тиристорное зарядное. И не совсем понятно как измерять его ток заряда. Вот так показывают два неплохих мультиметра на измерении постоянного тока  (уверен что стрелочный покажет то же самое )   но , Мы же понимаем , что после тиристора идёт не постоянный ток , а импульсный  и вот такое теперь показывают мультиметры в режиме измерения переменного тока  один РМС, другой не рмс.   Что считать правдой ?
    • А чего бы не поставить рядом с DS18B20 некрупный конденсатор между VDD и GND? 
    • Я вскрываю металлической линейкой. Очень часто у таких блоков есть паз вдоль шва, туда вставляю линейку по всей длине шва и как рычагом вскрываю корпус. Если вначале немного промять корпус вдоль шва (бывает достаточно пальцами), то шансы легко вскрыть значительно увеличиваются.
    • При включении в ранее опубликованном виде устройство стало генератором. Частота до 140кГц, на индуктивности размах (от мин. до макс.) до 20В при напряжении на испытуемом БП ~3В. Добавил несколько конденсаторов, в том числе как рекомендовали Z_VIP и Starichok. Немного изменил номиналы резистора в компараторе. Удалил шунтирующее сопротивление на резисторе регулятора тока. Компаратор буду еще отлаживать - в приведённой ниже схеме срабатывает при 4В, но не не отпускает при отсутствии напряжения.  Ограничение тока выставил на 4А. Регулировка тока плавная от 0 до  4А. Выставленный ток стабильный при изменении напряжения от 1В до 10В. Напряжение выше 10В пока не поднимал. Ниже 0,95В ток снижается пропорционально напряжению. Схема в приложении. Все изменения-дополнения делал на существующей плате навесным монтажом. Позже выложу актуальную разводку. Отлаживал с транзисторами AP60T30 (ранее выкладывал фото транзисторов на радиаторе) - без обдува при комнатной температуре длительно держат 20Вт (10В, 2А) при температуре радиатора ~40гр.C. Приобрёл транзисторы IRFP460. С радиатором пока не определился. Схема и фото отладки на текущий момент времени. На фото стрелочный прибор - амперметр с током полного отклонения 6А. и в DipTrace:  
    • Ведь этож надо... такое совпадение. И я тоже делаю без сверлений. Более того, прилагаю фото имеющихся у меня  "хоть чуток острых предметов", несмотря на наличие которых, столь несложный и общедоступный  способ зачистки, к.м.к.  имеет право на демонстрацию в данной теме. Вдруг кому-то пригодится... Тем более, что тема простаивает аж с марта, будто на белом свете нет ничего, что можно было бы сюда  разместить,  хотя бы для сведения. 
×
×
  • Создать...