2

次のコードが Arduino で機能しないのはなぜですか?

#include<avr/io.h>
void setup()
{
    DDRA = 0xFF;
}
void loop()
{
    PORTA = 0xAA;
    _delay_ms(1000);
    PORTA = 0x55;
    _delay_ms(1000);
}

次のエラーが表示されます。「DDRA はこのスコープで宣言されていませんでした。」

私が知っているように、arduino は AVR マイクロコントローラーを使用していますが、arduino ボードで AVR コードを使用できないのはなぜですか?

4

4 に答える 4

5

Arduino で使用される通常の AVR チップにはポート A レジスタがなく、通常は B/C/D です。

于 2013-07-23T13:51:39.180 に答える
3

User261391 には、コードに関する最初の問題があります。遅延を機能させるには、delay.h も含める必要があることがすぐにわかります。

改訂された例:

#include<avr/io.h>
#include<avr/delay.h>
void setup()
{
    DDRB = 0xFF;
}
void loop()
{
    PORTB = 0xAA;
    _delay_ms(1000);
    PORTB = 0x55;
    _delay_ms(1000);
}
于 2013-07-23T16:29:06.550 に答える
0

いくつかのライブラリを含めるのを忘れていませんか?

于 2013-07-23T11:40:00.613 に答える