 Question:
We are calling the disable function when an external interrupt occurs. We have now added
code that performs a large number of operations that use the floating point unit, though
these are not within the ISRs themselves. How should we get around this ?
Answer: Quite likely, IE[ie]
should be equal to 1 for the floating point operation. This is as per IEEE-754 standard,
which states that if a trap occurs, we must be allowed to take it. Workaround
: Make sure that IE[ie]=1 before doing floating point operations. |