Arduino 1.0 IDEに付属のハードウェアシリアルライブラリを移植しようとしています。私はATMega2560プロセッサでコンパイルしており、単純な "Hello World"の例でArduino USARTライブラリ "HardwareSerial"をテストしていますが、私はこの奇妙なサウンドエラーが残っています。ArduinoのHardwareSerialをEclipse-AVR経由で使用しよう
私には次のように伝えられています:attempt[ing] to use poisoned "SIG_USART0_RECV"
...私は以前にこのようなエラーについて聞いたことがありません。私はそれが何に定義されているかを調べようとしました。そして日食はこれを私に与えました:iomxx0_1.h
で見つけ出されました:
#define SIG_USART0_RECV _VECTOR(25)
そこから_VECTOR(n)
は__vector_25
#define _VECTOR(N) __vector_ ## N
にリダイレクトされています。しかし、それらはシステムのパスにあります。現在のArduinoライブラリではまだ有効ですので、まだ有効です。
なぜ彼らは自分の定義を毒にしますか?プロジェクトをコンパイルする前に何か宣言する必要がありますか?
編集:#pragma GCC poison SIG_USART0_RECV
を:
私が述べiomxx0_1.h
に毒を発見しました。では、なぜ彼らはこれを毒にするのだろうか?