- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my current PSoC 4200BLE project the enabling of an isr seems to "block" the rest of the main function.
In main there is a for loop after the ISR is enabled where I want to "print" to the UART some data calculated in the ISR, but the system naver reaches that part of the code:
CyGlobalIntEnable;
isr1_Disable();
isr1_SetVector(InterruptHandler1);
isr1_Enable();
for(;;)
{
UART_UartPutString("in main \n");
}
If I don't enable the ISR, the message in the for loop is sent. But if I do enable the ISR, it is not.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would advise you to post the project -
“File” Creator
“Create Workspace Bundle”
Regards,. Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry, the project bundle won't upload.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any reason (error message) for the failling upload?
A cause for the non-working interrupt handler might be that you have forgotten to remove the cause for the interrupt, so that it is fired over and over, but that's just a guess. We need that project to help you, code snippets don't tell everything.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
try in internet explorer to upload project.chrome may not work sometimes
Regards,
Vikas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Without some insight on your project; hard to do more than giving you a documentation pointer. Do you read the application note AN54460 about interrupts management ?
Do you know :
i) if your application crash in the ISR ?
ii) if your interrupt line (internal or external) is still active after ISR execution ?
iii) do you clear the interrupt source ?
... ... ...
Regards,
PNN
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If the ISR is I2C related, and pullups not in place, and you attempt to
contact slave that can "hang" I2C. There is no timeout implemented
in standard.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As Bob pointed, make sure that you are clearing the interrupt so that it does not fire again and again. Call isr1_ClearPending(); inside you interrupt handler function if you have missed it.