We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi i have written a ISR for external intr 0 and from this routine i am calling other functions. On compiling above routines i am getting following warning Warning:Multiple call to segment Caller1:?PR?ex0_ISR?main Caller2:?C_C51STARTUP (where ex0 is the name of isr given in file) there was same warning for each function which i had called from isr Can anybody give me the reason for this ? and solution ?
Erik is right: unlike "normal" 'C', C51 functions are not inherently reentrant. The linker is warning you that there is a possibility that the function might be called again from the interrupt while it is already executing in the non-interrupt code. Only you can tell whether this could actually ever happen in practice and, if it could, whether it would be safe...