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

 
 
> Код получения прерывания от RXSETUP на SAM7S
Shaienn
сообщение Nov 20 2009, 08:02
Сообщение #1


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

Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494



Добрый день. Посмотрите пожалуйста код. Ожидается, что при получении Control пакета возникнет бит RXSETUP и будет вызвано прерывание isrUDP, но в прерывание не заходит.

CODE
#include <AT91SAM7S256.H> /* AT91SAMT7S64 definitions */
#include <lib_AT91SAM7S256.h>
/*
* Main Program
*/
int i;
__irq void isrUDP(void)
{
unsigned int status = AT91C_BASE_UDP->UDP_ISR;
AT91PS_UDP pUDP = AT91C_BASE_UDP;
AT91_REG isr = pUDP->UDP_ISR;
AT91_REG csr = pUDP->UDP_CSR[0]; //rejestr csr endpointu 0
if (isr&AT91C_UDP_EPINT0)
{
if (i)
{
AT91C_BASE_PIOA->PIO_SODR = 1;
i = 0;
}
else
{
AT91C_BASE_PIOA->PIO_CODR = 1;
i = 1;
}
}
AT91C_BASE_UDP->UDP_CSR[0] = (0<<AT91C_UDP_RXSETUP);
AT91C_BASE_AIC->AIC_EOICR = status;
}

int main (void) {
AT91C_BASE_PIOA->PIO_PER = (1 << AT91C_PIO_PA0);
AT91C_BASE_PIOA->PIO_OER = 0x00000001;
AT91C_BASE_PMC->PMC_PCER = (1UL << AT91C_ID_PIOA);

// Set the PLL USB Divider
AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1;
AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP; //Разрешили частоту на UDP
AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP);

AT91C_BASE_UDP->UDP_RSTEP = (1 << 0);
AT91C_BASE_UDP->UDP_RSTEP = 0;
AT91C_BASE_UDP->UDP_CSR[0] = AT91C_UDP_EPTYPE_CTRL;
AT91C_BASE_UDP->UDP_CSR[0] = AT91C_UDP_EPEDS;

// Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO
// Set in PIO mode and Configure in Output
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,AT91C_PIO_PA16);
// Clear for set the Pul up resistor
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,AT91C_PIO_PA16);

AT91C_BASE_UDP->UDP_IMR = AT91C_UDP_ENDBUSRES|AT91C_UDP_EPINT0;
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_UDP] = (unsigned int)isrUDP;
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_UDP] = 6;
AT91C_BASE_AIC->AIC_IECR = (1UL << AT91C_ID_UDP);

// Loop forever
for (;;)
{
}
}


При чтении состояния регистра UDP_ISR в главном цикле без прерывания при данных настройках возвращает 0x00000100 (хотя должен 0x00000001). смотрю через дебаггер ulink. При замене AT91C_UDP_EPINT0 на AT91C_UDP_EPINT2 все равно не работает.

Вроде бы все указал... Затык.


Спасибо.
Причина редактирования: Уменьшение видимого объема цитаты исходника.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Shaienn   Код получения прерывания от RXSETUP на SAM7S   Nov 20 2009, 08:02
- - vmp   Почему бы не взять за основу какой-нибудь атмеловс...   Nov 20 2009, 08:46
- - sergeeff   Глобальная переменная i первоначально не инициализ...   Nov 20 2009, 10:50
- - Shaienn   ЦитатаПочему бы не взять за основу какой-нибудь ат...   Nov 20 2009, 11:00
|- - vmp   Цитата(Shaienn @ Nov 20 2009, 14:00) Я бы...   Nov 20 2009, 11:04
- - aaarrr   Цитата(Shaienn @ Nov 20 2009, 11:02) Ожид...   Nov 23 2009, 07:04
- - Shaienn   2vmp Спасибо за ссылку. Куча откровений Цитата(a...   Nov 25 2009, 04:16
|- - aaarrr   Цитата(Shaienn @ Nov 25 2009, 07:16) 1) Я...   Nov 25 2009, 10:40
|- - Shaienn   Цитата(aaarrr @ Nov 25 2009, 14:40) Регис...   Nov 25 2009, 12:33
|- - aaarrr   Цитата(Shaienn @ Nov 25 2009, 15:33) Може...   Nov 25 2009, 14:12
|- - Shaienn   Цитата(aaarrr @ Nov 25 2009, 18:12) В AIC...   Nov 25 2009, 14:18
- - Shaienn   Здравствуйте. Поправьте меня в процессе отправки ...   Nov 29 2009, 15:51
|- - aaarrr   Цитата(Shaienn @ Nov 29 2009, 18:51) Поче...   Nov 29 2009, 17:51
- - Shaienn   RE: Код получения прерывания от RXSETUP на SAM7S   Nov 30 2009, 11:12
- - aaarrr   Код, я бы сказал, малость раздутый. Поле size дейс...   Nov 30 2009, 11:56
- - Shaienn   Вот функция конфигурирования конечной точки. Для н...   Nov 30 2009, 12:10
|- - aaarrr   Цитата(Shaienn @ Nov 30 2009, 15:10) Для ...   Nov 30 2009, 12:37
- - Shaienn   Уважаемый aaarrr, изучил тему с Вашим участием. По...   Dec 1 2009, 12:37
|- - aaarrr   Цитата(Shaienn @ Dec 1 2009, 15:37) Но та...   Dec 1 2009, 12:48
- - Shaienn   Ага спасибо. Процесс дошел до получения дескриптор...   Dec 1 2009, 14:14
|- - aaarrr   Цитата(Shaienn @ Dec 1 2009, 17:14) Или н...   Dec 1 2009, 14:21
- - Shaienn   2aaarrr Ок. Устройство распознается windows как не...   Dec 2 2009, 15:11
- - aaarrr   На запрос конфигурации Вы должны отправить все сра...   Dec 2 2009, 15:46
- - Shaienn   А SET_CONFIGURATION приходит после того, как я уст...   Dec 4 2009, 12:05
- - aaarrr   После.   Dec 4 2009, 12:37
- - Shaienn   Добрый день. Продолжаю свою эпопею. Собрал в Driv...   Dec 9 2009, 15:59
- - Shaienn   Добрый день. После небольшой паузы возвращаюсь к э...   Jan 9 2010, 15:37
|- - aaarrr   Цитата(Shaienn @ Jan 9 2010, 18:37) а) В ...   Jan 9 2010, 15:54
- - Shaienn   Добрый день. Написал такой тестовый код: Кодunsig...   Jan 11 2010, 04:23
- - aaarrr   Цитата(Shaienn @ Jan 11 2010, 07:23) Поче...   Jan 11 2010, 11:22


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

 


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


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