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.
Hi.
I'm using external interrupts in my project.
My code essentially looks like this:
void Function() { SET_GPIO_TO_1; ... } interrupt void XINT2_ISR(void) { // Insert ISR Code here Function(); ... }
When I look in logic analyzer, I see that the latency between the interrupt event and the rising edge of the GPIO is ~2.7 us. Running at 60 MHz.
Does this mean that it takes more than 100 cycles to execute this simple code?
My Function is located in the ramfuncs section, so it's supposed to be very fast.
Am I missing something here? Is this normal?
Thanks.
My function is located in RAM.
Because the pin is configured as GPIO, I can't use it without input qualification (asynchronously). I've attached a screenshot of the jitter. The trigger is on D0 (the GPIO pin input). It seems that the jitter can be around 1 uS. I'm running on 28035 from internal oscillator (no external crystal).
Hi Michael,
If you haven't already, I might recommend trying to run your device's external_interrupt example within controlSUITE.
For the F2803x device family, it is at the path below (however, may be different for your device):
\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\external_interrupt\
You can then measure the jitter/latency in the example and compare its results with what you are seeing in your code (especially the GPIO00 to GPIO30 portion of the example).
Thank you,
Brett