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.
Please could some body take a look at my code to see why the Pointer variables do not display correctly using debug in Uvision2. Here is the code: unsigned int xdata VALUE; unsigned int xdata *addr = &VALUE; Main() { for (VALUE=1; VALUE<=10; VALUE++) { printf("VALUE = %d", *addr); //data pritnf("addr1 = %d", addr); //address1 printf("addr2 = %d", &VALUE); //address2 } } /////////////// end ////////////// PROBLEM: VALUE at printf statement line1 works properly, but the remaining two printf statements for printing ADDRESS1, and ADDRESS2 are always displaying 256
"printf does not know how to print out pointers" Nonsense! See p291 of the 09.2001 C51 manual: "The type field is a single character that specifies whether the argument is interpreted as a character, string, number, or pointer, as shown in the following table... "p generic * Pointer using the format t:aaaa where t is the memory type the pointer references (c: code, i: data/idata, x: xdata, p: pdata) and aaaa is the hexadecimal address"
Fair enough. I overlooked that option.
"Nonsense! See p291 of the 09.2001 C51 manual" Charming, I'm sure.