С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
mikhomykus
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 3
1

HID-USB на STM32F103C8 вынос мозга

22.03.2014, 06:36. Просмотров 2861. Ответов 1
Метки нет (Все метки)

Пытаюсь сотворить HID-USB на STM32F103C8.
Использую CoolCox, вот такую платку и отладчик J-Link от Segger.

Чего достиг: девайс определяется в системе, отвечает на запросы репортов.
Но данные, пересылаемые от хоста, застревают в буфере конечной точки.
Т.е. я отсылаю в девайс 16 байт 0xAA, вижу эти 0xAA в буфере конечной точки,
но после
Код
N = USB_SIL_Read(EP1_OUT, Receive_Buffer);
Receive_Buffer девственно чист, хотя число N = 16.

Что я делаю не так?
Прилагаю фалы проекта под CoolCox.

[194.17 Кб]
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 06:36
Ответы с готовыми решениями:

stm32f103c8 usb проблема
Прошу помощи, уже неделю сам не могу разобраться. Пытаюсь поднять USB HID с...

USB CDC на STM32F103C8 в минимальном размере
Подскажите либы для организации CDC как виртуальный ком порт (с STшным...

USB-HID библиотека с st.com STM32f105 "Устройство USB не .."
Товарищи. Взял USB библиотеку с st.com (On-The-Go host omd divice library), для...

STM32f103c8, USB - ограничение длины изохронной передачи
Добрый день! Пытаюсь сделать USB audyo устройство. Устройство работает, но я...

stm32f3discovery и USB-HID
Добрый день! Пытаюсь работать с USB на STM. Для начала решил освоить HID. С...

1
mikhomykus
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 3
24.03.2014, 15:16 2
Попробовал сделать так:
перенес функцию чтения буфера из EP1_OUT_Callback в main:
Код
void EP1_OUT_Callback(void)
{
/* Read received data (17 bytes)
N = USB_SIL_Read(EP1_OUT, Receive_Buffer);

N += (wIstr << 16);

SetEPRxStatus(ENDP1, EP_RX_VOTID);
*/
Stat = 1;
}
Код
int main(void)
{
/* инициализация */
while(1)
{
if(Stat == 1)
{
USB_SIL_Read(EP1_OUT, Receive_Buffer); //копируем буфер

SetEPRxStatus(ENDP1, EP_RX_VOTID); //разрешаем прием данных

COM_SendBuf(Receive_Buffer,17); //возвращаем принятые данные через COM (для отладки)
}
}
теперь данные копируются куда надо.
Но, во всех просмотренных примерах данные копируются в void EPx_OUT_Callback

Почему же у меня так не получается?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 15:16

STM32F4Discovery + USB HID
Народ, помогите раздуплить этот гребаный USB !!! (никогда не использовал, но...

FreeRTOS+USB-HID
Добрый день форумчане! Пытаюсь подключить freertos и usb-hid с помощью...

USB HID на STM32F3 Discovery
Доброго времени суток! Народ, помогите поладить с USB-HID. Что-то совсем ничего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru