为什么以下代码在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董事会?
答案 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
如果您只想编译它并查看代码是否没有错误。