I wrote this code for the Uno but switched over to the Due. It compiles and runs fine on the Uno but for the Due it gives me this error:
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/Arduino.h:203,
from arduino_DAC.ino:10:
C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/USB/USBCore.h:208: error: expected unqualified-id before numeric constant
Here is the code:
#define d1 1
#define d2 2
#define d3 3
#define d4 4
#define d5 5
#define d6 6
#define d7 7
#define d8 8
void setup()
{
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);
pinMode(d4, OUTPUT);
pinMode(d5, OUTPUT);
pinMode(d6, OUTPUT);
pinMode(d7, OUTPUT);
pinMode(d8, OUTPUT);
}
void loop(){
for(int i = 0; i < 256; i++){
if( (i%2) == 0){
digitalWrite(d1, LOW);
}
if((i%2) == 1){
digitalWrite(d1, HIGH);
}
if( (i/2)%2 == 0){
digitalWrite(d2, LOW);
}
if( (i/2)%2 == 1){
digitalWrite(d2, HIGH);
}
if( (i/4)%2 == 0){
digitalWrite(d3, LOW);
}
if( (i/4)%2 == 1){
digitalWrite(d3, HIGH);
}
if( (i/8)%2 == 0){
digitalWrite(d4, LOW);
}
if( (i/8)%2 == 1){
digitalWrite(d4, HIGH);
}
if( (i/16)%2 == 0){
digitalWrite(d5, LOW);
}
if( (i/16)%2 == 1){
digitalWrite(d5, HIGH);
}
if( (i/32)%2 == 0){
digitalWrite(d6, LOW);
}
if( (i/32)%2 == 1){
digitalWrite(d6, HIGH);
}
if( (i/64)%2 == 0){
digitalWrite(d7, LOW);
}
if( (i/64)%2 == 1){
digitalWrite(d7, HIGH);
}
if( (i/128)%2 == 0){
digitalWrite(d8, LOW);
}
if( (i/128)%2 == 1){
digitalWrite(d8, HIGH);
}
delay(1);
}
for(int i = 254; i >= 0; i--){
if( (i%2) == 0){
digitalWrite(d1, LOW);
}
if((i%2) == 1){
digitalWrite(d1, HIGH);
}
if( (i/2)%2 == 0){
digitalWrite(d2, LOW);
}
if( (i/2)%2 == 1){
digitalWrite(d2, HIGH);
}
if( (i/4)%2 == 0){
digitalWrite(d3, LOW);
}
if( (i/4)%2 == 1){
digitalWrite(d3, HIGH);
}
if( (i/8)%2 == 0){
digitalWrite(d4, LOW);
}
if( (i/8)%2 == 1){
digitalWrite(d4, HIGH);
}
if( (i/16)%2 == 0){
digitalWrite(d5, LOW);
}
if( (i/16)%2 == 1){
digitalWrite(d5, HIGH);
}
if( (i/32)%2 == 0){
digitalWrite(d6, LOW);
}
if( (i/32)%2 == 1){
digitalWrite(d6, HIGH);
}
if( (i/64)%2 == 0){
digitalWrite(d7, LOW);
}
if( (i/64)%2 == 1){
digitalWrite(d7, HIGH);
}
if( (i/128)%2 == 0){
digitalWrite(d8, LOW);
}
if( (i/128)%2 == 1){
digitalWrite(d8, HIGH);
}
delay(1);
}
}
Does anyone know whats wrong? Is it the mod?