我使用MPLABX(Microchip产品的IDE)和XC16编译器(基于GCC)在C语言中编写嵌入式代码。
我使用-Wmissing-prototypes
来确保我拥有所有功能的原型。我的问题是我有很多中断服务程序,这导致编译器抱怨缺少原型。
由于ISR功能永远不会被用户软件直接调用,我不想在我的代码中的任何地方放置原型。
有没有办法显示缺少原型的警告,除了中断服务程序(即用__attribute__((interrupt,auto_psv))
标记的函数)?
答案 0 :(得分:1)
我遵循了Carl Norum的建议,只是在函数定义的正上方添加了函数原型。
举个例子:
void __attribute__((interrupt,auto_psv)) _SPI2ErrInterrupt(void);
void _SPI2ErrInterrupt(void)
{
// Do ISR stuff...
}