|
@@ -64,9 +64,10 @@ void rt_hw_serial_init(void);
|
|
|
|
|
|
#define U0PINS 0x00000005
|
|
|
|
|
|
-void rt_hw_uart_isr(struct rt_lpcserial* lpc_serial)
|
|
|
+void rt_hw_uart_isr(int irqno, void *param)
|
|
|
{
|
|
|
UNUSED rt_uint32_t iir;
|
|
|
+ struct rt_lpcserial* lpc_serial = (struct rt_lpcserial*)param;
|
|
|
|
|
|
RT_ASSERT(lpc_serial != RT_NULL)
|
|
|
|
|
@@ -112,21 +113,6 @@ void rt_hw_uart_isr(struct rt_lpcserial* lpc_serial)
|
|
|
VICVectAddr = 0;
|
|
|
}
|
|
|
|
|
|
-#ifdef RT_USING_UART1
|
|
|
-void rt_hw_uart_isr_1(int irqno, void* param)
|
|
|
-{
|
|
|
- /* get lpc serial device */
|
|
|
- rt_hw_uart_isr(&serial1);
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef RT_USING_UART2
|
|
|
-void rt_hw_uart_isr_2(int irqno, void* param)
|
|
|
-{
|
|
|
- /* get lpc serial device */
|
|
|
- rt_hw_uart_isr(&serial2);
|
|
|
-}
|
|
|
-#endif
|
|
|
|
|
|
/**
|
|
|
* @addtogroup LPC214x
|
|
@@ -150,19 +136,8 @@ static rt_err_t rt_serial_open(rt_device_t dev, rt_uint16_t oflag)
|
|
|
UART_IER(lpc_serial->hw_base) = 0x01;
|
|
|
|
|
|
/* install ISR */
|
|
|
- if (lpc_serial->irqno == UART0_INT)
|
|
|
- {
|
|
|
-#ifdef RT_USING_UART1
|
|
|
- rt_hw_interrupt_install(lpc_serial->irqno, rt_hw_uart_isr_1, RT_NULL, "uart1");
|
|
|
-#endif
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
-#ifdef RT_USING_UART2
|
|
|
- rt_hw_interrupt_install(lpc_serial->irqno, rt_hw_uart_isr_2, RT_NULL, "uart2");
|
|
|
-#endif
|
|
|
- }
|
|
|
-
|
|
|
+ rt_hw_interrupt_install(lpc_serial->irqno,
|
|
|
+ rt_hw_uart_isr, lpc_serial, RT_NULL);
|
|
|
rt_hw_interrupt_umask(lpc_serial->irqno);
|
|
|
}
|
|
|
|