1

我正在尝试移植现在随 Arduino 1.0 IDE 一起提供的硬件串行库。我正在 ATMega2560 处理器上编译并使用简单的“Hello World”示例测试 Arduino USART 库“HardwareSerial”,但我留下了这个奇怪的听起来错误。

它告诉我我是:attempt[ing] to use poisoned "SIG_USART0_RECV"......我以前从未听说过这样的错误。我试图找出它的定义,eclipse给了我这个:

#define SIG_USART0_RECV _VECTOR(25)发现于iomxx0_1.h.

然后从那里_VECTOR(n)重定向到__vector_25via #define _VECTOR(N) __vector_ ## N。但这些都在系统路径中,我认为它们仍然有效,因为当前的 Arduino 库仍在使用它们。

他们为什么要毒害自己的定义?在尝试编译项目之前,我是否需要声明其他内容?


编辑:

iomxx0_1.h我在陈述中发现了毒药: #pragma GCC poison SIG_USART0_RECV。那么他们为什么要下毒呢?

4

1 回答 1

0

SIG_xx 中断向量在几年前已被弃用。您可以在以下位置查看更新的列表:

AVR-GCC 手册在线-中断向量

于 2012-04-16T03:04:58.747 回答