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

UART_IRQ handler not invoked with peripheral Interfacing.

Hi,

I'm interfacing a GPS skynav SKM53 which uses UART with MCB 1700 board( onboard LPC1768 microcontroller). I have the transmitter pin of GPS connected to P2.1 (configured as UART1 Rx). Though, i can see the data in the RBR (Receive Buffer) register but I don't see the UART_IRQ handler being invoked neither are any flags being set(like LSR,RLS or RDA)

I have tested the IRQ handler by interfacing with PC (COM Port connected using RS232 cable) and it works perfectly. I use the same function for
interfacing on peripheral pins of UART, it doesn't get invoked. Is there any other configuration, I need to do so as to invoke IRQ handler when data is seen on the
peripheral??? Please advise.

Parents
  • MAX232 is not a suitable level shifter.

    It is designed for 5V logic levels on one side, and RS-232 levels on the other side.

    The MAX3232 is designed for 3.3V logic levels on one side and RS-232 levels on the other side.

    Neither of MAX232 nor MAX3232 is intended for board-level interfacing of two logic-level components. They are intended to handle the RS-232 signalling standard for serial cables.

    In this case, a logic level shifter may be needed that can work with 2.85V on one side and whatever logic levels the processor uses for the other side. Depending on what processor is used, it might be possible to get it to function without a logic level shifter. But there may be a need of a series resistor from processor to GPS to limit the current, if the processor operates at a higher logic level. The datasheet should tell what is the maximum input voltage the GPS can handle. Or a voltage divider might be used to step down the high logic level from the processor.

    In the other direction, lots of processors will accept 2.85V as logic high, because the inputs are often designed to work with both CMOS and TTL logic levels.

Reply
  • MAX232 is not a suitable level shifter.

    It is designed for 5V logic levels on one side, and RS-232 levels on the other side.

    The MAX3232 is designed for 3.3V logic levels on one side and RS-232 levels on the other side.

    Neither of MAX232 nor MAX3232 is intended for board-level interfacing of two logic-level components. They are intended to handle the RS-232 signalling standard for serial cables.

    In this case, a logic level shifter may be needed that can work with 2.85V on one side and whatever logic levels the processor uses for the other side. Depending on what processor is used, it might be possible to get it to function without a logic level shifter. But there may be a need of a series resistor from processor to GPS to limit the current, if the processor operates at a higher logic level. The datasheet should tell what is the maximum input voltage the GPS can handle. Or a voltage divider might be used to step down the high logic level from the processor.

    In the other direction, lots of processors will accept 2.85V as logic high, because the inputs are often designed to work with both CMOS and TTL logic levels.

Children
No data