Playing with Arduino
A page to record my playing with Arduino
SIGNAL()

Abstract

The SIGNAL() is a macro to define a function to register to interrupt vectors.

Source Code

The SIGNAL() is defined in hardware/tools/avr/avr/include/avr/interrupt.h as below.

1
2
3
4
5
#  define __INTR_ATTRS used, externally_visible

#  define SIGNAL(vector)                                        \
    extern "C" void vector(void) __attribute__ ((signal, __INTR_ATTRS));        \
    void vector (void)

The ‘signal’ in the _attribute_ means that it is an interupt handler. The ‘used’ tells the compiler to write code to a file unless it looks unused. The ‘externally_visible’ invalidates the effect of the ‘-fwhole_program’, which is a gcc compiler option.

Version

Arduino 1.8.13/avr-gcc 7.3.0-atmel3.6.1-arduino

Last Update

June 19, 2020

inserted by FC2 system