cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

Anonymous
Not applicable

Hi, I don't want to psoc automatically optimize my code, how should I do?

   

My code as following,

   

WORD GetMsCount()
{
  WORD tmpCount;
   
  do
  {
    tmpCount = msCount;
  }
  while(tmpCount != msCount);

   

  return tmpCount;
}

0 Likes
Reply
1 Reply
JoMe_264151
Expert II

Since msCount seems to be changed within an interrupt handler do not forget to declare it as "volatile"!!

   

In Project -> Build Settings -> Compiler -> Optimization you may set "Optimization Level" to "None", this setting is best for debugging.

   

Without the "volatile" attribute your while-loop would be prone to optimizatin taking tmpCount != msCount out of the loop because it does not change, leaving an infinite loop  behind.

   

 

   

Bob

0 Likes
Reply