Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: не срабатывают прерывания USART в AT91SAM7S256
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Sharf
Инициализация такая:

COM1 = AT91C_BASE_US1;
AT91F_PIO_CfgPeriph(
AT91C_BASE_PIOA,
((unsigned int) RXD ) |
((unsigned int) TXD ) ,
0 );

AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1<AT91F_US_Configure (COM1, MCK, AT91C_US_ASYNC_MODE, USART_BAUD_RATE , 0);

COM1->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;

USART_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, Usart_c_irq_handler);
AT91F_AIC_ConfigureIt (AT91C_BASE_AIC, AT91C_ID_US1, USART_INTERRUPT_LEVEL, AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, Usart_c_irq_handler);
AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_US1);

AT91F_US_EnableIt(COM1, AT91C_US_TXRDY | AT91C_US_RXRDY );

В итоге не вызывается Usart_c_irq_handler ни по окончании передачи (просто в регистр кидаю и смотрю на осциллографе), ни по приему (на ноге сигнал есть)
beer_warrior
http://electronix.ru/forum/index.php?showtopic=16943
ну и еще стартап посмотреть, что там накручено.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.