I am having a problem inside an interrupt on the visor.
My code looks like this:
void VisorInterrupt( UInt32 pGlobals, Boolean *sysAwake )
{
HARDWARE_INTERFACE *pCard = (HARDWARE_INTERFACE *)pGlobals;
UInt16 value = *pCard;
// I do some quick processing here
// It involves no OS calls, and takes less than 20 assembly instructions
*pCard = value;
}
pCard points to the first address on CS1 (Card 1). The first part of the
code works fine. I read the value and can do stuff with it. The failure
comes on the write back. I do not see the WE line being asserted on my
module. However, if I place the same line *pCard = value; outside of the
interrupt I do see the WE line get asserted and everything works OK.
Is it illegal to write to the module during an interrupt? If it is not, is
there something else that could cause this problem?
Any thoughts are most appreciated.
Oliver King-Smith
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/