This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280025: Use SCI RX ISR without SCI TX ISR by Sysconfig

Part Number: TMS320F280025
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Dear Champs,

I am asking this for our customer.

Is it possible to set only SCI RX ISR (handler) with or without FIFO on Sysconfig (CCS 11.0 + c2000ware V4)?

It seems both TX and RX ISR handlers occur at the same time if we want to use Sysconfig for interrupt handler....

Even we leave TX ISR handler in blank, it still generates codes, which would lead to compiler error because there is not such physical ISR.

In the user's case, they only want to use SCI RX ISR without FIFO.

Would you please help confirm this?

Wayne Huang

  • Well we can definitely add this support in. But just curious, why can't they just assign the SCITX interrupt to "Interrupt_defaultHandler" which is defined in interrupt.c of driverlib? And also leave the ENABLE interrupt in PIE UNCHECKED.

    But if you really think the option should be added in the GUI for registering RX or TX INTs individually, we can make that happen.

    Nima

  • Dear Nima,

    Yes, we can add interrupt handler manually.

    But we still need you to add this in the future update to make it more friendly because I find it's common for users to use only RX ISR. TX ISR would take lots of time (over background) if they don't need to send anything. These customers prefer sending TX data in the background or other ISR when needed.

    Wayne

  • I understand the user friendly comment and I filed an internal ticket for this to get implemented. However, with the current format, they can still just use the RX interrupt only. All they would have to do is not enable the TX interrupt in the PIE module (unchecking the Enable Interrupt in PIE).

    nima

  • Dear Nima,

    No, In that case, GUI still generates a wrong Interrupt_register, which leads to a compiler error.

        Interrupt_register(INT_UART1_TX, &);
        Interrupt_disable(INT_UART1_TX);
  • You are correct, but if you use what I mentioned here as the NAME of the INTERRUPT HANDLER:

    Interrupt_defaultHandler

    Instead of leaving it blank, you now have a working code that never calls the ISR since it is disabled.

    Nima

  • Dear Nima,

    Yes, the code could be compiled when I used Interrupt_defaultHandler.

    Would you please clarify this Interrupt_defaultHandler in more detail?

    It uses 

    static void Interrupt_defaultHandler(void)
    {

    ...

    }

    in interrupt.h of driverlib.

    Does that mean all interrupt handlers (not limited to SCI TX/RX) can be linked to this Interrupt_defaultHandler as long as it's used as a dummy ISR (not used like SCI_TX in this case)?

    Wayne Huang

  • Yes that is the default dummy ISR handler.