Хитрость заключается в том, чтобы предоставить больше «кода» для doxygen, чем для компилятора.
Например, определить фиктивное определение, всегда истинное при построении с doxygen:
PREDEFINED = IN_DOXYGEN
И в некотором C коде добавьте поддельную функцию, подобную этой:
#ifdef IN_DOXYGEN
/**
Doc for pinSetup.
@param pin pin number
*/
void pinSetup(int pin) { /* Implemented in asm */ }
#endif /* IN_DOXYGEN */