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

 
 
> Проблема LPC2214 UART+T0 IRQ
dmyl
сообщение Nov 22 2006, 11:44
Сообщение #1


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

Группа: Свой
Сообщений: 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.
Вообщем чушь какая-то, отладить не получается стоит тормознуть отладчиком идут ответы на пакет.

Может есть пример рабочего кода для обработки приема по УАРТ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - sensor_ua   У меня работает чуток рихтанутый вариант обработчи...   Nov 28 2006, 17:16


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

 


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


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