This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with global variable

Hi

I write a C program in uvision3. I have a global vriable "byte xdata *MemoryArea = (byte *)0x8000" and I define it in "flashdata.c". I have a function that use "MemoryArea". This function define in "mmngr.c". In this function there is a local variable "byte * tmp" and tmp = MemoryArea;
When I run this program tmp get value "X:0x0c84" ???
why??? I want tmp get value "X:0x8000". Whatis problem?

When "byte xdata *MemoryArea = (byte *)0x8000" is define in "mmngr.c" all thing is true and tmp get value "X:0x8000".

My Microcontroller is "Sle66c360pe"

Parents
  • what is problem that anybody don't reply to me?

    It's called "sleep". Most people do it for a good part of the day. And then there's this other phenomenon, called a "day job", which keeps people off their private internet connections for almost longer than "sleep" ;-)

    BTW, is it just me, or does there appear to be a considerable anisotropy in the distribution of timezones of people doing the asking, and those doing the answering in this forum?

    As to your question: one rather likely cause for that that problem is incorrect treatment of declaration vs. definition of global variables.

Reply
  • what is problem that anybody don't reply to me?

    It's called "sleep". Most people do it for a good part of the day. And then there's this other phenomenon, called a "day job", which keeps people off their private internet connections for almost longer than "sleep" ;-)

    BTW, is it just me, or does there appear to be a considerable anisotropy in the distribution of timezones of people doing the asking, and those doing the answering in this forum?

    As to your question: one rather likely cause for that that problem is incorrect treatment of declaration vs. definition of global variables.

Children