First hello to everyone.
Sorry for my English.
I tell you.
I'm starting to use microcontrollers ARM7 specifically the LPC2134 and I am performing a bidirectional serial communication.
The program consists blink an LED to verify that the system is working, and UART communication with a PC and a serial adapter to convert levels.
My purpose is to use a vectored IRQ interrupt, so that when some data arrives the program stops and observe the interrupt and save the received data in an array for later processing.
In addition I make a bluque sending the ASCII table to the PC.
My problem is that encuanto recivo a data interruption jumps and I can not in any way out of it by staying in an infinite loop in the interruption.
The program I'm doing with the KEIL 4.
VICIntEnClr=0xFFFF;//Borro cualquier posible interrupcion
LED_blink ();//Parpadeo del LED
U0FDR=0x10;//Multivall a 1
U0LCR|=BIT7;//Activo Bit DLAB para poder configurar velocidad
U0DLL=divisor & 0xFF;
U0LCR &=~BIT7;//Borro Bit DLAB para poder configurar velocidad
U0IER = 0;//Desabilito interrupciones UART 1
VICIntSelect &= ~(1<<UART_0);
VICDefVectAddr |= (1<<UART_0);
VICVectCntl10 = 0x20 | UART_0; /* Prioridad 0 Vectorizada use it for UART 0 Interrupt*/
VICVectAddr10 = (unsigned long)RX_UART_CERO ; /* set interrupt vector in 0 */
VICIntEnable |= BIT6; /* Enable UART0 Interrupt */
U0IER = 1;//Habilito interrupcion de recepcion de datos validos
_irq void RX_UART_CERO (void)
if(U0IIR&DR) // Infinite loop
VICVectAddr &= 0x0000;//Clear Flag Interrupts but not exit and return to Infinite loop
Everything works fine until you receive date UART in the LPC. Then jumps to the interruption and there does not come out.
No longer what to do, I take several days reading the datasheet and reviewing the program, but can not find anything wrong.
I request help from someone who can guide me to solve the problem and continue learning.
Thanks you very much.