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

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

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

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

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

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


 
Опции темы
Непрочитано 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
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: "Поднять" USB на stm32f4-discovery с помощью Keil

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

Сообщение от Easyrider83 Посмотреть сообщение
Да походу забыл 1.5K на USBDP подать.
Паш, там встроенный пуллап.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 05.02.2014, 00:04  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 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
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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, время: 10:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot