Как узнать, нужно ли сбросить USB-соединение CD70 K70? - PullRequest
0 голосов
/ 19 февраля 2019

Я прошу прощения за то, что не знал достаточно о USB и его реализации в MQX на K70.Это унаследованный проект.Я сделаю все возможное, чтобы предоставить как можно больше информации, которую я знаю.Я изучаю, как это работает, но я застрял и не знаю, куда идти.

У меня есть K70 с полноскоростным USB-портом.Код устанавливает этот порт как устройство USB CDC.У меня есть связь, работающая между K70 и устройством Android через кабель OTG.

В некоторых случаях я замечаю, что связь прекращается или пакеты искажаются из-за отсутствия лучшего слова.Я могу видеть данные в пакетах, используя анализатор шины USB, но ни одна из сторон связи на самом деле их не понимает.

Самый большой инициатор этого сценария - это когда мы отключаем, а затем снова подключаем USB-кабель.Я предполагаю, возможно, неправильно, что это то, что мне нужно сделать, чтобы заново инициализировать драйвер устройства, как только я заметил событие сброса шины или завершения повторного перечисления.

Нужно ли снова вызывать USB_Class_CDC_Init ()?Нужно ли повторно инициализировать весь драйвер устройства?Сбросить это как-нибудь?И если да, то как?

Я читал Справочное руководство по устройству USB MQX, и в нем просто есть небольшой фрагмент о том, как использовать API уровня класса CDC.Я пытался вызвать USB_Class_CDC_Init () в разные моменты, но, похоже, ничего не работает.Я также пытался деиницировать устройство перед повторной установкой, но все еще не играл в кости.

Я застрял ... Любая помощь будет очень признательна.Как я уже сказал, я не уверен, какую информацию я могу упустить, поэтому, если я упущу что-то, что поможет решить эту проблему, дайте мне знать, и я предоставлю информацию.

Заранее спасибо!!

...