This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CMSIS v5 USARTn_IRQHandler multiply defined

Hi,

I have been learning how to use CMSIS v5 Beta to program an LPC4357, and so far so good.

I got stuck in creating an interrupt for USART3 (Rx). I am using numerous other interrupts with no problem. I receive the following error when compiling:

Error: L6200E: Symbol USART3_IRQHandler multiply defined (by usart_lpc43xx.o and main.o).

I am using the CMSIS Startup, system, DRIVER_USART, USART_LPC43xx files, and i receive the above error.

When debugging, and triggering an interrupt, it seems to go to the Hardfault handler??.

When examining the above files, there seems to be another "MX_USART3_IRQHandler".

Could some one please help me out on this? Or/and provide me with a very basic program example for USARTn Interrupts using CMSIS v4.5.0 / v5.

I have realized that there are hardly any CMSIS examples around, especially UART. Though of course i might be wrong.

void USART3_IRQHandler()

{

        NVIC_DisableIRQ(USART3_IRQn);

        NVIC_ClearPendingIRQ(USART3_IRQn);

        Driver_USART3.Send("\nC\n", 5);

        while (Driver_USART3.GetStatus().tx_busy);

        NVIC_EnableIRQ(USART3_IRQn);

}

void UART_Interrupt_Init()

{

        LPC_USART3->IER   = 0x03;

        NVIC_EnableIRQ(USART3_IRQn);

}

 

UART3 without interrupts enabled functions well. I only placed above code for simplicity.

I know you are the experts on CMSIS, so I really need your help.

I am grateful for any help given.

Parents Reply Children
No data