|
STM32f4 виртуальный COM порт подключение/отключение USB |
|
|
|
 |
Ответов
|
Dec 10 2017, 06:24
|
Местный
  
Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877

|
Цитата После прихода в CDC запроса setup request с типа SET_CONTROL_LINE_STATE с параметром 3 порт открыт, можно слать привествие. После прихота этого же запроса с другим значением параметра или после установки конфигурации 0 - порт закрыт Вот я также думаю, но можно подстраховаться Vbus еще. В Cube есть: /* Device Status */ #define USBD_STATE_DEFAULT 1 #define USBD_STATE_ADDRESSED 2 #define USBD_STATE_CONFIGURED 3 #define USBD_STATE_SUSPENDED 4 Написал вот так: if( (hUsbDeviceHS.dev_state==USBD_STATE_CONFIGURED) ){ CDC_Transmit_HS(p ,strlen (text)); }
Сообщение отредактировал Alex_Golubev - Dec 10 2017, 06:24
|
|
|
|
|
Dec 10 2017, 07:41
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Alex_Golubev @ Dec 10 2017, 12:24)  Вот я также думаю, но можно подстраховаться Vbus еще. В Cube есть: /* Device Status */ #define USBD_STATE_DEFAULT 1 #define USBD_STATE_ADDRESSED 2 #define USBD_STATE_CONFIGURED 3 #define USBD_STATE_SUSPENDED 4
Написал вот так: if( (hUsbDeviceHS.dev_state==USBD_STATE_CONFIGURED) ){ CDC_Transmit_HS(p ,strlen (text)); } Устройство будет сконфигурировано хостом, и тут, бац, выдернули шнур. Устройтство осталось сконфигурировано, потому как от хоста не получало пакета SET_CONFIGURATION = 0. Что дальше? Выдернуть могут на любом состоянии. Но узаете о том, что не подключены только через VBUS. В STM32F4 есть регистры/биты, которые могут сигнализировать об отключении (некогда копаться в даташите чтобы указать точно). Но, естественно сама линия VBUS должна быть заведена в МК.
--------------------
|
|
|
|
|
Dec 11 2017, 13:44
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(jcxz @ Dec 11 2017, 16:40)  Ваш - находится у вас, а у автора может быть другая схема. у меня тоже через куб, как и у автора. Это штатная переменная в кубе
Сообщение отредактировал 0men - Dec 11 2017, 13:44
|
|
|
|
|
Dec 11 2017, 14:43
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(jcxz @ Dec 11 2017, 16:47)  Куб уже научился и провода подпаивать?  у него все уже подпаяно, если внимательно почитать. куб определяет при вхождении в прерывание OTG_FS_IRQHandler через флаг USB_OTG_GOTGINT_SEDET
Сообщение отредактировал 0men - Dec 11 2017, 14:48
|
|
|
|
|
Dec 11 2017, 15:23
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(prottoss @ Dec 11 2017, 18:15)  Да. Но VBUS должен быть подключен, иначе Вы постоянно будете висеть в этом прерывании. И как решить вопрос с МК, у которых нет OTG? Например STM32F103? ...Хотя ТС озвучил F4xx серию, тем не менее, пускай вопрос будет риторический. там, видимо, как то иначе, не работал с первой серией
|
|
|
|
Сообщений в этой теме
Alex_Golubev STM32f4 виртуальный COM порт подключение/отключение USB Dec 9 2017, 12:25 uriy Мало что понятно.
У вас на STM32F4 сделан CDC Host... Dec 9 2017, 13:59 Alex_Golubev Нет сделан CDC device (виртуальный COM порт). Надо... Dec 9 2017, 14:22 prottoss Цитата(Alex_Golubev @ Dec 9 2017, 20:22) ... Dec 9 2017, 14:34 Alex_Golubev Можно смотреть и Vbus.
Что вы думаете о такой кон... Dec 9 2017, 14:40 prottoss Цитата(Alex_Golubev @ Dec 9 2017, 20:40) ... Dec 9 2017, 14:46  jcxz Цитата(prottoss @ Dec 9 2017, 16:46) Ниче... Dec 9 2017, 16:02   prottoss Цитата(jcxz @ Dec 9 2017, 22:02) Но прави... Dec 9 2017, 16:06 Сергей Борщ Какой смысл что-то слать, если на той стороне порт... Dec 9 2017, 17:29 esaulenka Цитата(Сергей Борщ @ Dec 9 2017, 20:29) К... Dec 11 2017, 08:01  prottoss Цитата(esaulenka @ Dec 11 2017, 14:01) По... Dec 11 2017, 13:13   0men Цитата(prottoss @ Dec 11 2017, 16:13) Воп... Dec 11 2017, 13:31  Сергей Борщ QUOTE (esaulenka @ Dec 11 2017, 10:01) Па... Dec 11 2017, 13:22 jcxz Цитата(Сергей Борщ @ Dec 9 2017, 19:29) П... Dec 11 2017, 13:22         0men Цитата(prottoss @ Dec 11 2017, 18:28) В п... Dec 11 2017, 15:42          prottoss Цитата(0men @ Dec 11 2017, 21:42) USB_OTG... Dec 11 2017, 15:47   prottoss Цитата(jcxz @ Dec 11 2017, 19:40) Не обяз... Dec 11 2017, 13:47    jcxz Цитата(prottoss @ Dec 11 2017, 15:47) да,... Dec 11 2017, 13:51 Alex_Golubev prottoss все работает я конечно еще протестирую, н... Dec 10 2017, 13:22 prottoss Цитата(Alex_Golubev @ Dec 10 2017, 19:22)... Dec 10 2017, 14:15 0men if (hUsbDevice_0 == 0) то шнурок отключен Dec 11 2017, 11:08 prottoss Цитата(0men @ Dec 11 2017, 17:08) if (hUs... Dec 11 2017, 13:56 Alex_Golubev Vbus я опрашиваю.
Цитатаif (hUsbDevice_0 == 0) то... Dec 12 2017, 01:13 Alex_Golubev Столкнулся с еще одной проблемой USB.
Когда подкл... Jan 24 2018, 08:25 golf2109 Цитата(Alex_Golubev @ Jan 24 2018, 10:25)... Jan 25 2018, 02:19 Alex_Golubev Цитатаа что посылает терминал при нажатии connec? ... Jan 25 2018, 05:59 VladislavS Цитата(Alex_Golubev @ Jan 25 2018, 08:59)... Jan 29 2018, 15:10 SanvaldYV #define USBD_STATE_DEFAULT 1 - это исходное состоя... Jan 29 2018, 09:30 Сергей Борщ Вот я нарвался... Как писал выше - определял откры... Aug 5 2018, 19:34 Zeal0t Цитата(Сергей Борщ @ Aug 5 2018, 22:34) .... Aug 6 2018, 03:39  Сергей Борщ QUOTE (Zeal0t @ Aug 6 2018, 06:39) USB VC... Aug 6 2018, 05:31   Zeal0t Цитата(Сергей Борщ @ Aug 6 2018, 08:31) .... Aug 6 2018, 07:27    Сергей Борщ QUOTE (Zeal0t @ Aug 6 2018, 10:27) Не сов... Aug 6 2018, 13:17 Vasily_ Цитата(Сергей Борщ @ Aug 5 2018, 22:34) У... Aug 6 2018, 07:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|