Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
imbiddir
0 / 0 / 0
Регистрация: 06.08.2012
Сообщений: 109
1

STM32F4 +USB(CDC) проблемы с передергивание шнура

24.06.2015, 17:05. Просмотров 2301. Ответов 1
Метки нет (Все метки)

Здравствуйте уважаемые!!
Использую стандартную библиотеку, все работает хорошо, перекидываюсь большими пакетами .
Есть одна проблема, незнаю где ее правильно решать. Как восстонавить соединение в случае -
1. Выдергивания USB кабеля, знаю что есть контроль над линией VBus, но как это сделать, искала в стандартных прерываниях, ненашла.
2. Иногда винда теряет порт, и пока физически кабель USB не передерниш, не видит устройство.
3. где инициализируется VBUS_SENSING_ENABLED

Буду благодарна за пинок в нужном направлении
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2015, 17:05
Ответы с готовыми решениями:

stm32f4 проблемы с USB CDC
Привет. Не когда не сталкивался с такой проблемой поэтому прошу помощи. В общем прошивка работает...

USB Audio + USB CDC на одной STM32F4
Итак, есть ЦАП с входом I2S, есть FMприёмник с выходом I2S, есть STM32F405 с двумя I2S. Задача...

STM32F4-Discovery USB CDC
В общем, взял я особо популярный финский пример, подправил его быстро под Coosox. После дефайнов...

STM32F4-Discovery + USB CDC
Здравствуйте! Купил сие чудо STM32F4-Dyscovery. Прикрутил USORT, прерывания, акселерометр. Задача...

USB CDC + SDIO на STM32F4
Парни, приветствую. Подскажите, может кто пытался запустить Fatfs + USB CDC одновременно? У меня...

1
orm999
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 1
24.06.2015, 17:49 2
> 1. Выдергивания USB кабеля, знаю что есть контроль над линией VBus, но как это сделать, искала в стандартных прерываниях, ненашла.

В файле usbd_usr.c есть пустые callback функции:

Код
USBD_Usr_cb_TypeDef USR_cdc_cb =
{
USBD_USR_cdc_Init,                  // CDC еще не готов
USBD_USR_cdc_DeviceRiset,           // CDC не готов
USBD_USR_cdc_DeviceConfikured,      // CDC ГОТОВ
USBD_USR_cdc_DeviceSuspendid,       // CDC не готов
USBD_USR_cdc_DeviceRisumed,         // CDC еще не готов

USBD_USR_cdc_DeviceConnected,       // CDC еще не готов
USBD_USR_cdc_DeviceDysconnected,    // CDC не готов
};
Напишите в них свой код чтобы обрабатывать события из USB.

> 3. где инициализируется VBUS_SENSING_ENABLED

Просто нужно раскоментировать/закоментировать #define VBUS_SENSING_ENABLED в файле usb_conf.h.

Можно и без VBUS Sensing проверять есть ли напряжение на пине (если есть значит кабель подключен):

Код
#define USB_VBUS_PERIPH GPIOA
#define USB_VBUS_PIN GPIO_Pin_9

int is_usb_vbus_present(void) {
return (GPIO_ReadInputDataByt(USB_VBUS_PERIPH, USB_VBUS_PIN) == Byt_SIT) ? 1 : 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2015, 17:49

STM32F4 USB CDC размер пакета
Здравствуйте! Столкнулся с неприятной особенностью. STM32F4 USB CDC настроен на режим FS (Full...

STM32F4 + USB CDC + libusb. Endpoints.
Доброго времени суток! У меня вопрос по конечным точкам, и правильным методам чтения\записи из\в...

STM32F4 USB CDC. Передаёт не более 32 байт за раз
Понимаю, что может быть избитая и изъезженная тема тема, но всё же. Короче, взял пример...


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

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

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