[an error occurred while processing this directive]
Что-то я не понимаю в USB для SAM7S(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 06 июля 2006 г. 15:56

Из примера CDC
Сделал обработку USB запросов по прерываниям.
Основная программа пока "моргает" светодиодом а обработка запросов по прерываниям.
Устройство успешно конфигурируется и драйвера ставятся но не "моргает" :-(

Я предположил, что какое-то не обрабатываемое прерывание от USB мешает
поставил проверку и сброс по одиночке и выловил влияние флага AT91C_UDP_RXRSM:


if (ulIrqStatus & AT91C_UDP_RXSUSP ) AT91C_BASE_UDP->UDP_ICR =AT91C_UDP_RXSUSP;
if (ulIrqStatus & AT91C_UDP_SOFINT) AT91C_BASE_UDP->UDP_ICR =AT91C_UDP_SOFINT;
if (ulIrqStatus & AT91C_UDP_WAKEUP) AT91C_BASE_UDP->UDP_ICR =AT91C_UDP_WAKEUP;
if (ulIrqStatus & AT91C_UDP_EXTRSM) AT91C_BASE_UDP->UDP_ICR =AT91C_UDP_EXTRSM;
// if (ulIrqStatus & AT91C_UDP_RXRSM ) AT91C_BASE_UDP->UDP_ICR =AT91C_UDP_RXRSM ;

Если убрать комментарий то светодиод "моргает", но вызывается только прерывание USB RESET.
Сброс флага AT91C_UDP_RXRSM при старте программы не завешивает процессор.

Errata я не нашел.
Где копать?
Спасибо.



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru