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

 
 
> USB на SAM7 зацикливается в прерывнаии при получении пакета, Больно пните если вопрос глуп
InsolentS
сообщение Apr 10 2008, 22:40
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Здравствуйте! С USB устройствами я знаком не очень глубоко, а тут задача встала сделать простенькое, в режиме Bulk. Bulk стек выдрал из кеиловского MSD примера, получилось примерно так:
Код
void USB_EndPoint4 (DWORD event) {
  BYTE buff[64];
  USB_ReadEP(USB_ENDPOINT_OUT(4), buff);    
}

void USB_EndPoint5 (DWORD event) {
  BYTE buff[64]={'H','e','l','l','o',' ','W','o','r','l','d','!',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0};
  USB_WriteEP(USB_ENDPOINT_IN(5), buff, 64);
}

Но: прерывание по 5ому ендпоинту вообще никогда не вызывается, а по 4му:
когда шлю от компа первый пакет данных - он принимается на "ура", всё ок.
Когда шлю второй пакет - устройство зацикливается в прерывании от ендпоинта, причём в buff приходит всякая чушь.
Родной кеиловский MSD работает отлично. Подскажите пожалуйста, где я ступил, такое чувство, что лишнее отрезал, как будто флаг прерывания не сбрасываю, что ли..


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 15:46
Рейтинг@Mail.ru


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