2

我正在使用 MPLABX(Microchip 产品的 IDE)和 XC16 编译器(基于 GCC)在 C 中编写嵌入式代码。

-Wmissing-prototypes用来确保我的所有功能都有原型。我的问题是我有很多中断服务例程,这导致编译器也抱怨缺少这些的原型。

因为用户软件从不直接调用 ISR 函数,所以我不想将它们的原型放在我的代码中的任何位置。

除了中断服务例程(即,用 标记的函数)之外,有什么方法可以显示缺少原型的警告__attribute__((interrupt,auto_psv))

4

1 回答 1

2

我听从了 Carl Norum 的建议,只是在函数定义的正上方添加了函数原型。

举个例子:

void __attribute__((interrupt,auto_psv)) _SPI2ErrInterrupt(void);
void _SPI2ErrInterrupt(void)
{
    // Do ISR stuff...
}
于 2013-04-18T15:37:54.100 回答