Доброго времени суток.
Решил собрать некое устройство на PIC24FJ32GB002 подключаемое к компьютеру по USB (стандарт CDC потому что нужна скорость 1МБит).
Все работает отлично, но в произвольное время происходит зависание связи. Восстановить её можно переподключив устройство и\или перезагрузив компьютер.
Разобравшись в проблеме глубже понял что из-за ошибок по линии USB контроллер "переподключается заново" (есть такой алгоритм в программе, если этого не делать то windows выдает "USB устройство не опознано"). От этого в диспетчере устройств COM порт пропадает и появляется заново.
Если в момент сбоя (Я использую HyperTerminal) в терминале порт закрыт - проблем нет. Его можно открыть и данные будут передаваться. Но если порт в момент сбоя был открыт - связь прекращается.
Взял попробовал MPLAB Starter Kit for PIC24F с их примером прошивки - та-же проблема, всё отлично - потом вдруг раз и зависло.
Понимаю что проблема в старотехнологических Windows драйверах, не понимающих что COM порт может пропадать и появлятся, но как решить - ума не приложу.
Нашел в интернете драйвера thesycon якобы решающие эту проблему - но и с ними тоже ничего не вышло.
Кстати например FTDI в своих драйверах конвертора USB-COM добавили таймаут удерживающий COM устройство в активном состоянии на момент когда по UBS идут ошибки.
Конвертор USB-COM имеет свои (другие) проблемы - поэтому его рассматриваю как крайний вариант.
PIC24 USB CDC зависание.
- WandererSc
- Друг Кота
- Сообщения: 4077
- Зарегистрирован: Вс мар 22, 2009 17:31:41
PIC24 USB CDC зависание.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
- Реклама