I have a overlay problem: I've got one function who is called from main and from my interrupt service routine. When the interrupt calls the function my local variables point to an indefinite adress. I have the problem however I deactivate overlaing. My programm:
void main (void) { ... eventChannelPtr = XSDevice_GetEventChanByID( &XSIM_DeviceGroups, groupID, chanID)} } void task_1ms(void) interrupt 1 using 1 { ... eventChannelPtr = XSDevice_GetEventChanByID( &XSIM_DeviceGroups, groupID, chanID); } tXSEvent_ChannelPtr XSDevice_GetEventChanByID( tXSDevice_DeviceEntry* deviceEntryPtr, tXS_Group groupID, tXS_Channel chanID) { tXSEvent_SourcePtr eventSrcEntry; tXSEvent_ChannelPtr retVal; ... eventSrcEntry = &deviceEntryPtr->eventListPtr[groupID]; }
Right here:
void task_1ms(void) interrupt 1 using 1
Thanks a lot, using 1 was the problem
Maybe... Besure that the compiler is not pushing the whole register bank when the interupt is called. that is what the using R# prevents.
Thanks a lot, using 1 was the problem I doubt that very much. I think not using 1 properly was the problem. Erik