AnsweredAssumed Answered

Interrupt Handlers in C++ applications

Question asked by LPCware Support on Mar 31, 2016

When you create a project using the LPCXpresso IDE project wizard, the startup code generated contains a set of default interrupt handlers, dependent upon the target MCU.

 

These default interrupt handlers are defined as weak so that if your main application provides an implementation, this will be used instead of the default in the generated executable.

 

However if your application is a C++ one then any interrupt handlers defined in C++ files within in your main application will need to have C linkage rather than C++ linkage. To do this, make sure that you use extern "C" { .... } around the interrupt handler within your main application code.

 

For more details, please see you favorite C++ text book, alternatively an internet search will bring up lots of useful links - for example:

http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B#Linking_C_and_C.2B.2B_code

Outcomes