Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

"Поднять" USB на stm32f4-discovery с помощью Keil

Непрочитано 04.02.2014, 23:12  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию "Поднять" USB на stm32f4-discovery с помощью Keil

Здравствуйте,
перехожу на stm32 с mega и xmega.
Диодом поморгал и в цикле и по таймеру.
Но не ради этого затеян переход.
Для начала нужно "поднять" USB, примеры вроде есть, но или не под мой чип или не под эту среду, поэтому создаю проект с нуля по образу и подобию как в примерах. Начинаю с простого - HID.
Итог один - всё компилируется, заливается, однако когда подключаю устройство к компьютеру, только загорается зеленый диодик наличия питания по usb, а в компьютере ничего не происходит, ни каких новых устройств не появляется.
Что делаю:
Создаю новый проект, выбираю чип STM32F401VC, подключаю компоненты:

Редактирую RTE_Device.h

Согласно

Сгенерированный ей system_stm32f4xx.c подкидываю в проект вместо имеющегося
Редактирую USBD_Config_0.c

Редактирую USBD_Config_HID_0.h
(см scr5.png в миниатюрах, 5-е изображение не вставляется)
Создаю main.c как в других примерах:
Код:
#include "cmsis_os.h"
#include "rl_usb.h"

int main (void) {


  USBD_Initialize    (0);               /* USB Device 0 Initialization        */
  USBD_Connect       (0);               /* USB Device 0 Connect               */


  while (1) {                           /* Loop forever                       */
    osDelay(100);                       /* 100 ms delay for sampling buttons  */
  }
}
Создаю USBD_User_HID_0.c
Код:
#include "rl_usbd.h"
#include "usb_hid.h"

void USBD_HID0_Initialize (void) {
}

void USBD_HID0_Uninitialize (void) {
}

int32_t USBD_HID0_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf) {

  switch (rtype) {
    case HID_REPORT_INPUT:
      switch (rid) {
        case 0:
          switch (req) {
            case USBD_HID_REQ_EP_CTRL:        // Explicit USB Host request via Control OUT Endpoint
            case USBD_HID_REQ_PERIOD_UPDATE:  // Periodic USB Host request via Interrupt OUT Endpoint
              // ToDo: update buffer for report data, example:
              // buf[0] = 0;       // Data Value = 0
              // buf[1] = 5;       // Data Value = 5
              // return (2);       // Data Size  = 2 bytes
              break;
            
            case USBD_HID_REQ_EP_INT:         // Called after USBD_HID_GetReportTrigger to signal
                                              // data obtained.
              break;
          }
          break;
      }
      break;
      
    case HID_REPORT_FEATURE:
      break;
  }
  return (0);
}


bool USBD_HID0_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len) {
  uint8_t i;

  switch (rtype) {
    case HID_REPORT_OUTPUT:
      for (i = 0; i ‹ 4; i++) {
        //if (*buf & (1 ‹‹ i))
        //  LED_On  (i);
        //else 
        //  LED_Off (i);
      }
      break;
    case HID_REPORT_FEATURE:
      break;
  }
  return true;
}

//! [code_USBD_User_HID]
Всё это компилирую и заливаю.
Что я мог забыть? Сделать не правильно?
Миниатюры:
Нажмите на изображение для увеличения
Название: scr1.png
Просмотров: 2417
Размер:	134.7 Кб
ID:	58492   Нажмите на изображение для увеличения
Название: scr2.png
Просмотров: 2399
Размер:	110.3 Кб
ID:	58493   Нажмите на изображение для увеличения
Название: scr3.png
Просмотров: 2369
Размер:	129.3 Кб
ID:	58494  

Нажмите на изображение для увеличения
Название: scr4.png
Просмотров: 2350
Размер:	114.7 Кб
ID:	58495   Нажмите на изображение для увеличения
Название: scr5.png
Просмотров: 113
Размер:	97.5 Кб
ID:	58496  
Реклама:
kaf-0 вне форума  
Непрочитано 04.02.2014, 23:15  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Прикладываю так же проект целиком.
Вложения:
Тип файла: rar test_hid3.rar (529.7 Кб, 178 просмотров)
kaf-0 вне форума  
Непрочитано 04.02.2014, 23:46  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Сообщение от kaf-0 Посмотреть сообщение
Итог один - всё компилируется, заливается, однако когда подключаю устройство к компьютеру, только загорается зеленый диодик наличия питания по usb, а в компьютере ничего не происходит, ни каких новых устройств не появляется.
То есть подключаем к OTG разьему комп , стряпаем HID device и пытаемся что то получить?


Сообщение от kaf-0 Посмотреть сообщение
Что делаю:
Создаю новый проект, выбираю чип STM32F401VC, подключаю компоненты:
STM32F4 discovery ???? Ничего не напутал?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 04.02.2014, 23:49  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Да походу забыл 1.5K на USBDP подать.
Easyrider83 вне форума  
Непрочитано 04.02.2014, 23:54  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Сообщение от Easyrider83 Посмотреть сообщение
Да походу забыл 1.5K на USBDP подать.
Паш, там встроенный пуллап.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 05.02.2014, 00:04  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Сообщение от dosikus Посмотреть сообщение
Паш, там встроенный пуллап.
Если он включен, устройство должно по крайней мере подключиться. Пусть даже и не работать.
Easyrider83 вне форума  
Непрочитано 05.02.2014, 00:42  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Ребят, я вроде знаю разницу между otg, хостом и девайсом, только причем тут это? Изначально с заводской прошивкой устройство работало как мышка, двигало курсор снимая данные с датчиков ускорения. Так что аппаратно всё правильно и компьютер к правильному порту подключаю.
Вот фотка моей платы:

На ней именно такой чип, как я указал ранее.
Или я упускаю какую-то очевидную вещь?
Миниатюры:
Нажмите на изображение для увеличения
Название: stm32f4.JPG
Просмотров: 2259
Размер:	370.3 Кб
ID:	58499  
kaf-0 вне форума  
Непрочитано 05.02.2014, 09:17  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Сообщение от kaf-0 Посмотреть сообщение
Для начала нужно "поднять" USB, примеры вроде есть, но или не под мой чип или не под эту среду, поэтому создаю проект с нуля по образу и подобию как в примерах. Начинаю с простого - HID.
.....
Что я мог забыть? Сделать не правильно?
Я бы робко порекомендовал для начала все-таки запустить пример. Следущими действиями уже будут попытки разобраться, что и как в нем организовано и взаимосвязано. И напоследок уже начать "обтесывать" глыбу, отсекая лишнее для вас.
Опять-таки на мой взгляд, внеся изначально достаточно много неявных изменений вы обречены на долгие поиски "что там не так?"
Если вы сможете в начале пути выяснить "или не под мой чип или не под эту среду" - это уже будет больше чем полдела.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 05.02.2014 в 09:33.
ut1wpr вне форума  
Непрочитано 05.02.2014, 09:49  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

ut1wpr, Угу , обтесывать пример с SPL это долго,нудно и безрезультатно.
Есть пример на Keil'овскую демо борду -MCBSTM32F400
Находиться здесь :
Keil\ARM\Pack\Keil\STM32F4xx_DFP\1.0.5\Boards\Keil \MCBSTM32F400\Middleware\USB\Device\HID
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 05.02.2014, 10:48  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

Проверьте в режиме отладки установлен ли бит 12 PPWR в регистре OTG_FS Host port control and status register (OTG_FS_HPRT)
Easyrider83 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печатная плата USBee AX picavr Барахолка электронных компонентов 950 20.08.2023 17:11
Не могу запустить USB контроллер ATMega32U4 Slava1355 AVR 12 29.09.2014 14:58
STM32F4 USB HID составление репорта swat24 ARM 40 20.02.2014 12:59
Прошить STM8S003F3P6 с помощью stm32 discovery kvark85 ARM 1 17.07.2013 14:59
usb cdc pic18f14k50 gromovi Proteus, KiCAD и другие ECAD 9 21.04.2013 15:31


Часовой пояс GMT +4, время: 05:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.