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

 
 
> 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
ivstech
сообщение Jan 11 2007, 07:11
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



Цитата(Master @ Jan 11 2007, 04:36) *
Интересный исходник написал jjoannic -> на странице AT91SAM Application Notes лежит архив AT91 USB Framework - Core 1.02 + MSD 1.0, в котором есть файл udp.c. В нём есть обработчик прерывания. Жаль проект не для IAR EWARM smile.gif

Я думал, BasicUSB(где его взять?) это то же самое, что и "AT91 USB Framework - Core 1.02 ....". Значит, я заблуждался. Framework откомпилировал под IAR 4.30, но он не заработал. MASS STORAGE переделывал под MMC, работает нормально, только медленно, ~300КБайт в секунду чтение, хотя просто чтение карточки без USB -до 1700КБайт в секунду.

Сообщение отредактировал ivstech - Jan 11 2007, 07:13
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:30
Рейтинг@Mail.ru


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