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

 
 
> BasicUSB на AT91SAM7S, Если забыть о прерываниях, какие замечены проблемы
Master
сообщение Dec 15 2006, 10:51
Сообщение #1


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

Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405



Здравствуйте!

Точнее, пример называется AT91SAM7S-BasicUSART_USB.

Никак не могу понять пока, в чём дело: чтение из USB проходит на ура, а вот запись при втором вызове вешает и проц, и терминалку.

Может кто в курсе, где собака порылась? cranky.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nameless
сообщение Jan 10 2007, 15:13
Сообщение #2


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

Группа: Свой
Сообщений: 174
Регистрация: 9-07-04
Пользователь №: 305



Не могли бы Вы показать как AIC при этом настраивать? У меня никак не получается.
Go to the top of the page
 
+Quote Post
Master
сообщение Jan 11 2007, 01:36
Сообщение #3


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

Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405



Цитата(nameless @ Jan 10 2007, 15:13) *
Не могли бы Вы показать как AIC при этом настраивать? У меня никак не получается.

Восприму вопрос о моих возможностях как просьбу.
Например вот так:
Код
    // open UDP interrupt
    AT91F_AIC_ConfigureIt( AT91C_BASE_AIC, m_ID, m_uPriority, AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, IrqHandler );
    AT91F_AIC_EnableIt( AT91C_BASE_AIC, m_ID );
Перед этим нужно настроить события, по которым AIC будет генерить прерывание:
Код
    AT91F_UDP_DisableIt( pstUDP, ~m_uEvents );                // Disable all events
    AT91F_UDP_InterruptClearRegister( pstUDP, (UINT)-1 );     // Clear all events
    AT91F_UDP_EnableIt( pstUDP, m_uEvents );                  // Enable events
Возможно, первые две строки - лишние, добавил на всякий случай.
Всё вышеописанное - строго IMHO. И вообще проект пока не готов, и находится в стадии отладки. Например, я пока не добился корректного отрабатывания прерывания от конечных точек.
Интересный исходник написал jjoannic -> на странице AT91SAM Application Notes лежит архив AT91 USB Framework - Core 1.02 + MSD 1.0, в котором есть файл udp.c. В нём есть обработчик прерывания. Жаль проект не для IAR EWARM smile.gif
Go to the top of the page
 
+Quote Post



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

 


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


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