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

arm7 - "signal function" in keil

Hi. I tried to use the Signal Function i my project (lpc2129) and it didn't work. There an error appeared during compilation.
Code of my simple signal function:

void signal sig(void)
{
 ain1=1.0;
 twatch(100);
}

Can someone explain why it doesn't work?

  • "an error appeared during compilation."

    Do you not think that it might be helpful to quote exactly what error it was that appeared?

  • error: #70: incomplete type is not allowed
    error: #65: expected a ";"

  • wrong syntax - it should be something like shown below. You might also look into the 'Measure' example provided with the MDK.

    Signal void analog0 (float limit)  {
      float volts;
    
      printf ("Analog0 (%f) entered.\n", limit);
      while (1)  {          /* forever */
        volts = 0;
        while (volts <= limit)  {
          ain0 = volts;     /* analog input-0 */
          swatch (0.01);    /* wait 0.01 seconds */
          volts += 0.1;     /* increase voltage */
        }
        volts = limit;
        while (volts >= 0.0)  {
          ain0 = volts;
          swatch (0.01);    /* wait 0.01 seconds */
          volts -= 0.1;     /* decrease voltage */
        }
      }
    }
    

  • The code shown above doesn't work. Another error appeared:
    error: #77-D: this declaration has no storage class or type specifier

    I had been trying to use signal functions presented in Keil user's guide...and nothing...

  • The signal function shown before applies to the uVision simulator and acts much like a script which generates inputs to the simulation. Such funtions are 'compiled' in the simulator environment by a built in parser and.

    Trying to compile a 'signal' funtions with the MDK/RVCT compiler makes no sense since it does not know anything about the simulation or 'signal' or 'twatch' etc.