реклама на сайте
подробности

 
 
> Устройство на V-USB не определяется после выхода компьютера из спящего режима
Bonio
сообщение Sep 22 2011, 19:55
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 7-09-11
Пользователь №: 67 058



Столкнулся с такой проблемой. Собрал usb устройство на библиотеке V-USB. Все работает, но после выхода компьютера из спящего режима устройство превращается в unkown device и перестает отвечать.
Устройство можно оживить, если перткнуть usb шнурок, или выключить и включить в диспетчере устройств.
Перестать пользоваться спящим режимом компа - не вариант, постоянно перетыкать шнур - тоже.
Можно как нибудь исправить такое поведение устройства?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
follow_me
сообщение Sep 22 2011, 21:55
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 4-11-10
Пользователь №: 60 646



читаем внимательно руководство
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.

по ссылке найдете оригинал документации в примерами реализации
Go to the top of the page
 
+Quote Post
Bonio
сообщение Sep 23 2011, 06:59
Сообщение #3





Группа: Участник
Сообщений: 8
Регистрация: 7-09-11
Пользователь №: 67 058



Включил я эту функцию в usbconfig.h, но переменная usbSofCount почемуто не инкрементируется, всегда равна нулю.
А да, линию D- куда в таком случае подключать? чтото я не совсем понял..

Сообщение отредактировал Bonio - Sep 23 2011, 07:01
Go to the top of the page
 
+Quote Post
Bonio
сообщение Sep 23 2011, 08:15
Сообщение #4





Группа: Участник
Сообщений: 8
Регистрация: 7-09-11
Пользователь №: 67 058



А все, разобрался. Спасибо!
Короче, после выхода из спящего режима прерываний нет!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 17:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016