Part Number: TMS320F280049C
Tool/software:
Hi,
I am currently developing an application using a TI C2000 microcontroller and have a question regarding its interrupt handling behavior.
As I understand, the C2000 architecture does not support nested interrupts by default. In my case, I have an interrupt that occurs every 50 µs. However, the interrupt service routine (ISR) sometimes takes longer than 50 µs to complete (e.g., 70 µs).
In this scenario, I would like to confirm the expected behavior:
- When the next interrupt request occurs at 50 µs while the previous ISR is still running, does the new interrupt get immediately processed, or does it remain pending until the current ISR finishes?
- If the interrupt remains pending, does it get serviced immediately after the current ISR finishes (i.e., at 70 µs), or does it wait until the next scheduled interrupt cycle (i.e., at 100 µs)?
- Is there any risk of ISR re-entry or unintended execution overlap under the default settings?
- If necessary, what is the recommended approach to prevent ISR overload or processing delays in such cases?
I would appreciate any clarification on these points and any guidance on best practices for handling high-frequency interrupts efficiently in C2000.
Thanks,
Conor
