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 All,
I am using DS89C450 MCU and writing my C code using uVision 4 compiler. In my DS89, I had a SRAM of 1kB and I would like to declare a 500 variable of unsigned char therefore I use
unsigned char xdata IR[500];
When I compiler with uVision 4, it show no error and therefore I burn the Hex code into my MCU. However, when I write and then read the IR[500], it give incorrect value
I therefore proceed to use debugger to troubleshoot my code and everything works fine in the debugger. My code does not have any problem.
Therefore I suspect uVision 4 had assign the IR[500] to non SRAM location and therefore the value is actually not written and read.
I would like to know how can I make sure uVision4 assign the SRAM location correctly and is there any setting I need to set before compiling?
Pls help. Thanks a lot
But one question - if you need an array of 500 elements, why do you then create an array with 501 elements?
He didn't.