如何在Arduino中编译AVR代码?

时间:2013-07-23 11:36:01

标签: arduino avr

为什么以下代码在Arduino中不起作用?

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

我收到以下错误。 “DDRA未在此范围内宣布。”

据我所知,arduino使用AVR微控制器,为什么我们不能使用AVR代码 在arduino董事会?

4 个答案:

答案 0 :(得分:5)

Arduinos中使用的普通AVR芯片没有端口A寄存器,通常是B / C / D.

答案 1 :(得分: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);
}

答案 2 :(得分:0)

你有没有忘记加入一些图书馆?

答案 3 :(得分:0)

我遇到了同样的问题...

问题是Arduino类型可能设置为Arduino Uno,它定义了不同的DDRA(我猜)...你可以在

中设置类型
  

TOOLS-&gt; Board-&gt; Arduino Mega 2560

如果您只想编译它并查看代码是否没有错误。