Hi everybody,
i have detected some absurd behavior in my project. In not determinated intervalls i have a repeating problem with my At89c51Re2 software.
Now i reduced the Problem to a minimum.
Anywhere in my code i add a simple global variable (like static UINT32 g_ParameterChecksum = 0;) and the following code triggered the impossible error.
static UINT8 g_DigitalByteValue = 0; ... g_DigitalByteValue = 0; if (g_DigitalByteValue != 0) { Debug_ErrorOutput("Compiler Error? @digout"); Error_FatalError(ERROR_UNKOWN); } ...
when i removed the new variable it works well.
I am use code banking,funtion pointers, interupts and Uv3 (from command line). Program Size: data=233.1 xdata=8183 const=112 code=91375 Maximum block depth: 8
i suggest that some addresses pointers are mixed up, but i does not know why.
Has somebody a hint or solution for this problem?
Thanks a lot, David
"That would have to be a very badly written ISR :("
Yes very badly. But in this case the issue is a program that is, for some reason, badly behaving.