C1139: Interrupt routine should not have any return value nor any parameter

[DISABLE, INFORMATION, WARNING , ERROR]

Description

Interrupt routines should not have any return value nor any parameter. In C++, member functions cannot be interrupt routines due to hidden THIS parameter. Another problem may be that a pragma TRAP_PROC is active where it should not be.

Example
  int interrupt myFct1(void){

  
    return 4;

  
  }

  
  #pragma TRAP_PROC

  
  void myFct2(int param){ }

  
  class A{

  
  public:

  
    void myFctMbr(void);

  
  };

  
  void interrupt A::myFctMbr(void){}

  
Tips

Remove all return value and all parameter (even hidden, e.g. 'this' pointer for C++):

  void interrupt myFct1(void){ }

  
  #pragma TRAP_PROC

  
  void myFct2(void){

  
  }

  
  class A{

  
  public:

  
    void myFctMbr(void);

  
  };

  
  void A::myFctMbr(void){ }

  
  void interrupt myInterFct(void){ }