试图通过Eclipse-AVR使用Arduino的HardwareSerial

时间:2012-04-13 02:37:18

标签: c++ eclipse arduino avr

我正在尝试移植现在随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_25重定向到#define _VECTOR(N) __vector_ ## N。但这些都在系统路径中,我认为它们仍然有效,因为当前的Arduino库仍然使用它们。

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


修改

我在iomxx0_1.h中发现了毒药:#pragma GCC poison SIG_USART0_RECV。那他们为什么要毒害这个?

1 个答案:

答案 0 :(得分:0)

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

AVR-GCC Manual Online-Interrupt Vectors