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

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

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

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

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

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


 
Опции темы

Keil 5 QuickStart с STM32F415

Непрочитано 23.10.2013, 17:52  
bass1981
Гражданин KAZUS.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

bass1981, Посмотри как это сделано в примерах борд от Keil
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 18:58  
bass1981
Гражданин KAZUS.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

Сообщение от bass1981 Посмотреть сообщение
Вот пример из хелпа....
В примере клавиатура. А выводы под кнопки конфигурировал?
И там еще одна пакость cmsis_os ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 19:41  
bass1981
Гражданин KAZUS.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Keil 5 QuickStart с STM32F415

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

Код:
 if (but ^ but_ex) {
Пока не сменится слать не будет ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.10.2013, 19:45  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
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.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 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, время: 07:55.


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