См. документацию.
40 #ifndef _iARCH_INTERRUPT_H_
41 #define _iARCH_INTERRUPT_H_ 1
46 #if defined(DOXYGEN_SHOULD_SKIP_THIS)
81 #define ISR_EXCEPTION_PROTO(name)
91 #define ISR_EXCEPTION(name)
102 #define ISR_IRQ(name)
113 #define ISR_IRQ_OS_PROTO(name)
124 #define ISR_IRQ_OS(name)
138 #error Wrong definition: i_ARCH should be defined \
139 usally it definded in bsp_board_def.h. or mcu_id.h
143 #if i_ARCH_CHECK(POSIX_GENERIC)
144 #include "posix/interrupt.h"
146 #if i_ARCH_CHECK(AVR_MEGA)
149 #if i_ARCH_CHECK(ARM7)
152 #if (i_ARCH_CHECK(CM0) || i_ARCH_CHECK(CM3) || i_ARCH_CHECK(CM4) )
156 #if i_ARCH_CHECK(WIN_NT)
161 #define ISR_HANDLER(name) void name(void)
164 #ifndef ISR_HANDLER_PROTO
165 #define ISR_HANDLER_PROTO(name) ISR_HANDLER(name)
169 #ifndef ISR_EXCEPTION_PROTO
170 #define ISR_EXCEPTION_PROTO(name) ISR_HANDLER_PROTO(name)
172 #ifndef ISR_EXCEPTION
173 #define ISR_EXCEPTION(name) ISR_HANDLER(name)
176 #ifndef ISR_IRQ_PROTO
177 #define ISR_IRQ_PROTO(name) ISR_HANDLER_PROTO(name)
180 #define ISR_IRQ(name) ISR_HANDLER(name)
183 #ifndef ISR_IRQ_OS_PROTO
184 #define ISR_IRQ_OS_PROTO(name) ISR_IRQ_PROTO(name)
187 #define ISR_IRQ_OS(name) ISR_IRQ(name)