Jump to content

    

A.Lex

Участник
  • Content Count

    176
  • Joined

  • Last visited

Community Reputation

0 Обычный

About A.Lex

  • Rank
    Частый гость

Recent Profile Visitors

2580 profile views
  1. Спасибо за наводку. Отличный пинцет
  2. Если "с погружением в теорию" - то Титце Шенк
  3. Спасибо всем откликнувшимся.
  4. Это уже хорошо! Примеры такой реализации есть? Я пока в гугле не нашел.
  5. Чтобы при загрузке проверялся пин (кнопка юзера например) и если нажата - то VCP, отпущена - USB keyboard? Реально это сделать, или нет? Устройство STM32F407DISCO
  6. Как оказалось. не там искал. Причина была в VID и PID. Изменил как написано в статье - заработало. Статья: Реализация профиля клавиатуры USB HID на плате STM32 Mini.pdf Реализация профиля клавиатуры USB HID на плате STM32 Mini.pdf
  7. Ошибка Код 10 ушла, но передачи нет. Что увидел при пошаговом проходе: функция USBD_HID_SendReport(&hUsbDeviceFS, press_report, len); вызывается, а вот в ней if(hhid->state == HID_IDLE) { hhid->state = HID_BUSY; USBD_LL_Transmit (pdev, HID_EPIN_ADDR, report, len); не срабатывает, те. условие if(hhid->state == HID_IDLE) не выполняется. Анализатор USB ругается на HID Descriptor: bLength : 0x09 (9 bytes) bDescriptorType : 0x21 (HID Descriptor) bcdHID : 0x0111 (HID Version 1.11) bCountryCode : 0x00 (00 = not localized) bNumDescriptors : 0x01 Data (HexDump) : 09 21 11 01 00 01 22 2D 00 .!...."-. Descriptor 1: bDescriptorType : 0x22 (Class=Report) wDescriptorLength : 0x002D (45 bytes) Error reading descriptor : ERROR_GEN_FAILURE и на Device Qualifier Descriptor В чем проблема - не вижу.
  8. Несколько дней бьюсь, уже перестал понимать очевидные вещи... Ситуация: проект собран в STM32Cube, мышь работает, курсор скачет. Мне нужна клавиатура. Изменяю дескрипторы (взяты из глубин интернета), и все... Код 10. Ошибку тупо не вижу. Измененные под клавиатуру исходники: Прошу помощи...
  9. Мое ИМХО (я тоже электронщик) HAL для старта удобней - легко и просто сделать исходные настройки периферии. Хотя потом все же придется "лезть в глубь " :)
  10. На сколько я помню, эти пользовательские символы записываются в ОЗУ контроллера ЖКИ (каждый раз при инициализации ЖКИ), это нужно в доке на контроллер смотреть.
  11. Если поможет: const unsigned char arrow_right[] = {0x00,0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00}; const unsigned char arrow_up[] = {0x00,0x00,0x04,0x0E,0x1F,0x00,0x00,0x00}; const unsigned char arrow_down[] = {0x00,0x00,0x00,0x1F,0x0E,0x04,0x00,0x00}; void Load_Special_Chars(void) { uint8_t i; LCD_WrCmd(0x40); Delay_Nus(50); for(i = 0; i < 8; i++) { LCD_WrData(arrow_right); } Delay_Nus(500); LCD_WrCmd(0x40 + ARROW_UP_CHAR); Delay_Nus(50); for(i = 0; i < 8; i++) { LCD_WrData(arrow_up); } Delay_Nus(500); LCD_WrCmd(0x40 + ARROW_DOWN_CHAR); Delay_Nus(50); for(i = 0; i < 8; i++) { LCD_WrData(arrow_down); } Delay_Nus(500); }
  12. Это только в версии 2.7 проявилось, или уже раньше было?
  13. "Волшебную" строку не забыли? /* Enable the TIM Main Output */ TIMx->BDTR |= TIM_BDTR_MOE;
  14. Практика это подтверждает (ИМХО конечно :))