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

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

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

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

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

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


 
Опции темы
Непрочитано 23.10.2013, 17:52  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

С помощью визарда все таки получилось создать USB hid устройство....
Определяться системой все Ок. В приложении как законфигурировал устройство. Конфиг получен с помощью USB device viever. Но отослать и принять не чего не могу..... Sorce файл сгенерен тоже с помощью визарда.
Код ниже .
Код:
#define Led_Yel_On   GPIOC-›BSRRL  =  GPIO_BSRR_BS_12
#define Led_Yel_Off  GPIOC-›BSRRH =   GPIO_BSRR_BS_12
#define Led_Red_On    GPIOC-›BSRRL  =  GPIO_BSRR_BS_13
#define Led_Red_Off   GPIOC-›BSRRH  =  GPIO_BSRR_BS_13

//! [code_USBD_User_HID]
#include "stm32f4xx.h"
#include "rl_usbd.h"
#include "usb_hid.h"


void USBD_HID0_Initialize (void) {
  // ToDo: add code for initialization
}



void USBD_HID0_Uninitialize (void) {
  // ToDo: add code for de-initialization
}


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
	      Led_Yel_On ;
              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) 
{

  switch (rtype) {
    case HID_REPORT_OUTPUT:
			
			Led_Red_On ;
      /*
        buf: Received Data
        len: Received Data Length
      */
      break;
    case HID_REPORT_FEATURE:
      break;
  }
  return true;
}
 uint8_t buf[8];
int main(void)
{
	 
        SysTick_Config(SystemCoreClock / 1000);
            RCC -›AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;
						
          GPIOC -›MODER|= 
          GPIO_MODER_MODER12_0 |
          GPIO_MODER_MODER13_0          
          ;    //
     
          GPIOC-›OSPEEDR |=
          GPIO_OSPEEDER_OSPEEDR12_1 |
          GPIO_OSPEEDER_OSPEEDR13_1 
          ;   	

   USBD_Initialize (0); // USB Device 0 Initialization 
    USBD_Connect (0); // USB Device 0 Connect	
    while(1)
    {
     buf[0] = 255;
     USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);	
     }
}
Опять я что то упустил.... Не могу пока разобраться.

Заранее спасибо.
Вложения:
Тип файла: txt Конфиг USB .txt (3.7 Кб, 47 просмотров)
Реклама:
bass1981 вне форума  
Непрочитано 23.10.2013, 18:12  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

bass1981, Посмотри как это сделано в примерах борд от Keil
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 18:58  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от dosikus Посмотреть сообщение
bass1981, Посмотри как это сделано в примерах борд от Keil
Вот пример для 103...
\Keil\ARM\Boards\Keil\MCBSTM32E\USBHID\
Код:
int main(void)
{
  USB_Init();                                  /* USB Initialization          */
  USB_Connect(__TRUE);                         /* USB Connect                 */
  while (1);                                   /* Loop forever                */
}
Вот пример для 407
C:\Program Files (x86)\Micro\Keil\ARM\Boards\Keil\MCBSTM32F400\RL\U SB\Device\HID

Код:
  usbd_init();                          /* USB Device Initialization          */
  usbd_connect(__TRUE);                 /* USB Device Connect                 */

  while (1) {                           /* Loop forever                       */
    but = (U8)(KBD_GetKeys ());
    if (but ^ but_ex) {
      buf[0] = but;
      usbd_hid_get_report_trigger(0, buf, 1);
      but_ex = but;
    }
А я создал с помощью визарда как в хелпе.
file:///C:/Keil/ARM/PACK/Keil/MDK-Middleware/5.1.2/Doc/USB/html/_u_s_b__device.html#Creation_Steps

Вот пример из хелпа....


Код:
#include "cmsis_os.h"
#include "rl_usb.h"
#include "Keyboard.h"
int main (void) {
uint8_t but;
uint8_t buf[2];
Keyboard_Initialize();
USBD_Initialize (0); /* USB Device 0 Initialization */
USBD_Connect (0); /* USB Device 0 Connect */
USBD_Initialize (1); /* USB Device 1 Initialization */
USBD_Connect (1); /* USB Device 1 Connect */
while (1) { /* Loop forever */
but = (uint8_t)(Keyboard_GetKeys ());
if (((but ) ^ buf[0]) & 1) {
buf[0] = (but ) & 1;
USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);
}
if (((but ›› 1) ^ buf[1]) & 3) {
buf[1] = (but ›› 1) & 3;
USBD_HID_GetReportTrigger(1, 0, &buf[1], 1);
}
osDelay(100); /* 100 ms delay for sampling buttons */
}
}
Завтра 103 привезут и st-link будет думаю попроще. Но пока время есть хотелось бы запустить примерчик.

Заранее спасибо.
bass1981 вне форума  
Непрочитано 23.10.2013, 19:28  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от bass1981 Посмотреть сообщение
Вот пример из хелпа....
В примере клавиатура. А выводы под кнопки конфигурировал?
И там еще одна пакость cmsis_os ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 19:41  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от dosikus Посмотреть сообщение
В примере клавиатура. А выводы под кнопки конфигурировал?
И там еще одна пакость cmsis_os ...
Кнопки не конфигурировал за ненадобностью
Код:
    while(1)
    {
     buf[0] = 255;
     USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);	
     }
Законфигурировал как писал выше
file:///C:/Keil/ARM/PACK/Keil/MDK-Middleware/5.1.2/Doc/USB/html/_u_s_b__device.html#Creation_Steps
А потом добавил файл USBD_User_HID_0 таким способом
http://www.keil.com/support/man/docs...ourcefiles.htm
Должно пахать но увы
bass1981 вне форума  
Непрочитано 23.10.2013, 19:43  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

bass1981, Не понял тогда что ты ждешь ?

Код:
 if (but ^ but_ex) {
Пока не сменится слать не будет ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 19:45  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от bass1981 Посмотреть сообщение
од:
while(1)
{
buf[0] = 255;
USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);
}
Вай не заметил , а если задержку сделать?
Я тестировал программой от MikroC - HID terminal , только не клаву . Работало норм.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 19:46  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от dosikus Посмотреть сообщение
bass1981, Не понял тогда что ты ждешь ?

Код:
 if (but ^ but_ex) {
Пока не сменится слать не будет ...
Пост №51 весь код который у меня в файле USBD_User_HID_0
Частичная вырезка...
Код:
   while(1)
    {
     buf[0] = 255;
     USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);	
     }
bass1981 вне форума  
Непрочитано 23.10.2013, 19:50  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от dosikus Посмотреть сообщение
Вай не заметил , а если задержку сделать?
Я тестировал программой от MikroC - HID terminal , только не клаву . Работало норм.
У меня есть софт который был предназначен для AVR .... Настроил девайс также в 51 посту вложение от USB device viever ......

Такая штуковина тоже не работает с ним....
C:\Keil\ARM\Utilities\HID_Client\Release\HIDClient .exe
Может что в репортах накосячил... Но USB device viever показывает такую же конфигурацию....
bass1981 вне форума  
Непрочитано 24.10.2013, 06:37  
bass1981
Гражданин KAZUS.RU
 
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Думаю вот в чем дело:
Вот в этом (rid)
Желтая лампочка загорается , нет дебагера..(((
Код:
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 1:
	Led_Yel_On ;
	break;
        case 0:
	Led_Red_On ;
          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
							Led_Yel_On ;
              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);
}
А в файле конфигурации не дает поменять на 0. USBD_Config_HID_0.h
Код:
//     ‹o.0..4›Number of Input Reports ‹1-32›
//     ‹i›Configures max 'rid' value for USBD_HID0_GetReport and USBD_HID_GetReportTrigger
#define USBD_HID0_IN_REPORT_NUM         1

//     ‹o.0..4›Number of Output Reports ‹1-32›
//     ‹i›Configures max 'rid' value for USBD_HID0_SetReport
#define USBD_HID0_OUT_REPORT_NUM        1
bass1981 вне форума  
 

Закладки

Метки
keil 5 быстрый старт, mini-m4 for stm32, stm32, stm32f415
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти файл STM32_init.c (Keil) к библиотеке CMSIS и StdPeriph_Lib Alex_8 ARM 2 01.08.2013 14:20
Keil и сторонние программаторы Qares Embedd С 17 06.02.2013 19:40
Class string in Keil Chudilo Микроконтроллеры, АЦП, память и т.д 18 13.08.2012 13:10
ARM начинающим с нуля - KEIL с лекарсвом, методички, книги avr123-nm-ru Микроконтроллеры, АЦП, память и т.д 22 31.03.2010 00:24
Почему Keil собирает нерабочий hex west329 Микроконтроллеры, АЦП, память и т.д 1 10.07.2009 14:09


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


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