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

 
 
> LPC2468 и USB, на примере USBMem от NXP
toweroff
сообщение Feb 27 2009, 12:27
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Требуется - передача данных по Bulk. Более высокий уровень не требуется, поэтому вся поддержка из примера для mass storage была выкинута.

Фактически осталось только: энумерация, сетап, прерывание

И тут натолкнулся на пока непонятную для меня ситуацию. Фактически, в прерывании проверяется конечная точка, для которой было вызвано прерывание. Далее из прерывания же вызывается USB_EndpointXX(DWORD Event), event - USB_EVT_IN/OUT.
Для реализации mass storage там, собственно, и не происходит ничего - данные формируются и гонятся в/из памяти в необходимом формате, поэтому время выполнения прерывания невелико. У меня же необходимо данные обработать, в некоторых случаях "дочитать" еще данные, отослать некий запрос хосту, обработать данные, иногда это может занять время.

Получается, что все это время я буду "болтаться" в обработчике прерывания? И не смогу опять получить данные, т.к. я уже обрабатываю то, что получил до этого?
А еще висит RL-RTOS, которой тоже надо как-то выполняться

Или разбить все свои обработки на кучу stages, и потом в прерывании обрабатывать? Но тогда switch вырастет просто жутко (у меня команд управления только порядка полутора десятков и в половине еще куча обменов)

Или я вообще все не так понял...

Проект USBMem - тут

Сообщение отредактировал toweroff - Feb 27 2009, 12:28
Go to the top of the page
 
+Quote Post



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

 


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


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