Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Устройство на V-USB не определяется после выхода компьютера из спящего режима
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Bonio
Столкнулся с такой проблемой. Собрал usb устройство на библиотеке V-USB. Все работает, но после выхода компьютера из спящего режима устройство превращается в unkown device и перестает отвечать.
Устройство можно оживить, если перткнуть usb шнурок, или выключить и включить в диспетчере устройств.
Перестать пользоваться спящим режимом компа - не вариант, постоянно перетыкать шнур - тоже.
Можно как нибудь исправить такое поведение устройства?
follow_me
читаем внимательно руководство
The USB standard defines a suspend mode. When the host computer goes into sleep mode, it requests that all USB devices go into a low power suspend mode. Suspend mode is signaled to the devices by the absence of any USB activity.

V-USB does not implement suspend mode by itself. This is the task of the main application. However, it offers hooks to check for USB activity. Since the only USB activity seen may be the frame pulse on DATA–, this data line must be connected to an interrupt. The easiest way to do this is to use DATA– for USB interrupts (not DATA+ as usual). Then define USB_COUNT_SOF to 1 in usbconfig.h and watch the global variable usbSofCount in your main loop. If it stops incrementing, you should put the device into suspend mode and wait for activity on the USB.

по ссылке найдете оригинал документации в примерами реализации
Bonio
Включил я эту функцию в usbconfig.h, но переменная usbSofCount почемуто не инкрементируется, всегда равна нулю.
А да, линию D- куда в таком случае подключать? чтото я не совсем понял..
Bonio
А все, разобрался. Спасибо!
Короче, после выхода из спящего режима прерываний нет!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.