为什么以下代码在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板?
Arduinos中使用的普通AVR芯片没有端口a寄存器,通常是B/C/D。
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);
}
您可能忘记包含一些库了吗?
我遇到了同样的问题。。。
问题是Arduino类型可能设置为Arduino Uno,它定义了不同的DDRA(我想)。。。您可以在中设置类型
工具->板->Arduino Mega 2560
如果你只想编译它,看看代码是否没有错误。