Skip to main content
Visitor II
August 30, 2019
Question

Weird bug in stm8 IAR compilers ?

  • August 30, 2019
  • 1 reply
  • 1244 views

Hi.

I have faced a weird problem using IAR compilers.

Errorstatus=0;
 Relay_Off;
 delay_ms(200);
 if(Errorstatus==1){
 Errorflag=1;

In this part of my code after I switch the relay off, I put a delay and if an interrupt occurs Errorstatus mentioned in the code changes from 0 to 1 in interrupt handler and the if must change the Errorflag from 0 to 1, but it wont work though Errorstatus is changed from 0 to 1!!

What is the problem?

    This topic has been closed for replies.

    1 reply

    Visitor II
    August 30, 2019

    Make sure both Errorflag and Errorstatus are declared as volatile if you change/access them in the interrupt handler.

    Visitor II
    August 30, 2019

    I have defined them as int variables.

    Visitor II
    August 30, 2019

    Change to volatile int and try again.