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

Why no volatile variables for H/W status BUT works ?

I was taught if the variable might be changed by OS,hardware, or interrupt routine asynchronous it must be declared as "volatile" !

But reviewing current code base I found no "volatile" variables for H/W but it works well...

My question is: besides using "volatile" variable is there any way to access peripheral device mapped to XDATA ?

Parents Reply Children
  • What setting?

    You say that it currently "works" - so the basic memory access must be OK.

    Your only risk is that optimisations might cause the compiler to "cache" the value when it shouldn't - and the one and only way to prevent that is to use the volatile qualifier.

    What other "setting(s)" are you thinking of?

  • For Author n00b help
    -> I think your post is NOT for this topic, right ?

    For other Authors
    -> I tend to believe what happened to me is bad luck and afterwards I will use volative and _at_ to access memory-mapped devices...

    liaoo