|
Проблема LPC2214 UART+T0 IRQ |
|
|
|
Nov 22 2006, 11:44
|
Частый гость
 
Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032

|
Прерывания два УАРТ и Таймер0, Т0 запускается периодически (отсчет таймаута), пока был один Т0 все работало, с делал прерывание на прием по УАРТу - какие-то глюки Не получается разобраться в чем проблема, вот код Инициализания прирываний:
static void DefDummyInterrupt(void) {}
// IRQ exception handler. Calls the interrupt handlers. #pragma vector=0x18 __irq __ramfunc void irq_handler(void) { void (*interrupt_function)(); unsigned long vector;
vector = VICVectAddr; // Get interrupt vector. interrupt_function = (void(*)())vector; // __enable_interrupt(); // Enable interrupts. (*interrupt_function)(); // Call vectored interrupt function.
VICVectAddr = 0; // Clear interrupt in VIC. }
//************************************************************ void init_IRQ(void) { // Setup interrupt controller. VICProtection = 0; // Disable all interrupts VICIntEnClear = 0xffffffff; VICDefVectAddr = (unsigned long)&DefDummyInterrupt;
// Setup timer callback function. VICIntSelect=0x0; // Timer0 & UART select as IRQ. VICVectAddr0 = (unsigned long)&UART0Interrupt; VICVectCntl0 = 0x20 | VIC_UART0; // Enable vector interrupt for UART0. VICVectAddr1 = (unsigned long)&Timer0Interrupt; VICVectCntl1 = 0x20 | VIC_TIMER0; // Enable vector interrupt for timer 0. VICIntEnable = 0x50; // Enable timer 0 & UART0 interrupt. }
УАРТ - слот0 Т0- слот1 Процедура обработки для Т0 и УАРТа
// Timer0 interrupt handler __ramfunc void Timer0Interrupt(void) { T0IR = 0xff; // Clear timer 0 interrupt line. BF=0; }
//****************************************************************** // Заполняет буфер приема __ramfunc void UART0Interrupt() { while (U0LSR&0x1) { rx_buff[rx_end]=U0RBR; rx_end=(rx_end+1)%RX_BUFF_LEN; rx_len++; } }
Под житагом запускаю программу, передаю пакет данных. На него должен быть ответ, ответа нет. Останавливаю программу, пакет в буфер принимается верно, лишнего нет почему-то постоянно вылетает на DummyInterrupt, пока не тормознешь отладчиком ответа нет, после остановки отладчиком и снова запуска ответ передается. Если точка останова на irq_handler то постоянно вылезают DummyInterrupt. Вообщем чушь какая-то, отладить не получается стоит тормознуть отладчиком идут ответы на пакет.
Может есть пример рабочего кода для обработки приема по УАРТ?
|
|
|
|
|
 |
Сообщений в этой теме
dmyl Проблема LPC2214 UART+T0 IRQ Nov 22 2006, 11:44 dmyl Немного переделал - выкинул Т0, оставил только при... Nov 22 2006, 12:11 Alex03 Цитата(dmyl @ Nov 22 2006, 14:11) Немного... Nov 22 2006, 14:32  zltigo Цитата(Alex03 @ Nov 22 2006, 13:32) А поч... Nov 22 2006, 18:39   Alex03 Цитата(zltigo @ Nov 22 2006, 20:39) Цитат... Nov 27 2006, 10:07    zltigo Цитата(Alex03 @ Nov 27 2006, 09:07) А всё... Nov 27 2006, 11:39     Alex03 Цитата(zltigo @ Nov 27 2006, 13:39) Цитат... Nov 27 2006, 15:26      zltigo Цитата(Alex03 @ Nov 27 2006, 14:26) Если ... Nov 27 2006, 19:23       Alex03 Уважаемый zltigo!
У меня нет желания спорить с... Nov 28 2006, 12:31        zltigo Цитата(Alex03 @ Nov 28 2006, 11:31) У мен... Nov 28 2006, 13:38         Alex03 Цитата(zltigo @ Nov 28 2006, 15:38) По ... Nov 28 2006, 16:40          zltigo Цитата(Alex03 @ Nov 28 2006, 15:40) А пер... Nov 28 2006, 17:11 amw Использую оба указанных прерывания. Никаких пробле... Nov 22 2006, 17:23 Andrew2000 Цитата(dmyl @ Nov 22 2006, 11:44) Прерыва... Nov 23 2006, 02:29 aaarrr Цитата(Andrew2000 @ Nov 23 2006, 02:29) Т... Nov 23 2006, 04:22 zltigo Цитата(aaarrr @ Nov 23 2006, 03:22) К инс... Nov 23 2006, 10:20 aaarrr Цитата(zltigo @ Nov 23 2006, 10:20) Моя с... Nov 23 2006, 12:46 dmyl Проблему поборол, не понятно почему вычитывание да... Nov 23 2006, 16:40  zltigo Цитата(dmyl @ Nov 23 2006, 15:40) Проблем... Nov 23 2006, 18:39   dmyl ЦитатаСтранный подход к делу - НЕ должно оно снима... Nov 24 2006, 10:22    zltigo Цитата(dmyl @ Nov 24 2006, 09:22) Или ест... Nov 24 2006, 15:47     dmyl ЦитатаУж не знаю, как и обьяснить... Вы с железом ... Nov 24 2006, 15:55      zltigo Цитата(dmyl @ Nov 24 2006, 14:55) Если вы... Nov 24 2006, 17:18       dmyl Цитата(zltigo @ Nov 24 2006, 18:18) Для п... Nov 24 2006, 20:26        zltigo Цитата(dmyl @ Nov 24 2006, 19:26) ...там ... Nov 24 2006, 21:33         dmyl Цитата(zltigo @ Nov 24 2006, 22:33) Еще р... Nov 25 2006, 10:23          zltigo Цитата(dmyl @ Nov 25 2006, 09:23) Это пон... Nov 25 2006, 11:58           dmyl Цитата(zltigo @ Nov 25 2006, 12:58) Так в... Nov 25 2006, 14:03            zltigo Цитата(dmyl @ Nov 25 2006, 13:03) Со стар... Nov 25 2006, 15:57             dmyl Цитата(zltigo @ Nov 25 2006, 16:57) Если ... Nov 25 2006, 18:02              zltigo Цитата(dmyl @ Nov 25 2006, 17:02) В каком... Nov 25 2006, 18:54 bombastic Цитата(dmyl @ Nov 22 2006, 11:44) Если то... Nov 24 2006, 14:56 Сергей Борщ Цитата(bombastic @ Nov 24 2006, 13:56) Ци... Nov 24 2006, 16:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|